2023-05-01 09:14:12 +00:00
|
|
|
import icmplib
|
|
|
|
|
2023-06-04 11:19:48 +00:00
|
|
|
from osmocom.lpmgd.model import AvailabilityChecker
|
2023-05-01 09:14:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
class IcmpAvailChecker(AvailabilityChecker):
|
|
|
|
"""An AvailabilityChecker implementation for determining host availability via ICMP Ping."""
|
|
|
|
def __init__(self, dest_addr: str):
|
|
|
|
self.dest_addr = dest_addr
|
|
|
|
|
|
|
|
def is_available(self) -> bool:
|
|
|
|
host = icmplib.ping(self.dest_addr, count=1, timeout=2, privileged=False)
|
|
|
|
return host.is_alive
|