INNER CODE UNIT · Python
deadline
ermaozi/get_subscribe · check_nodes.py:71
deadline = time.monotonic() + TIMEOUT
for family, socktype, proto, sockaddr in public:
remaining = deadline - time.monotonic()
if remaining <= 0:
break
try:
with socket.socket(family, socktype, proto) as connection:
connection.settimeout(remaining)
connection.connect(sockaddr)
return 'reachable'
except OSError:
continue
return 'unreachable'
def classify(directory='subscribe'):
directory = Path(directory)
config = yaml.safe_load((directory / 'clash.yml').read_text(encoding='utf-8'))