MCPcopy Create free account
hub / github.com/andreikop/python-ws-discovery / AddressMonitorThread

Class AddressMonitorThread

wsdiscovery/threaded.py:45–71  ·  view source on GitHub ↗

trigger address change callbacks when local service addresses change

Source from the content-addressed store, hash-verified

43
44
45class AddressMonitorThread(_StoppableDaemonThread):
46 "trigger address change callbacks when local service addresses change"
47
48 def __init__(self, wsd, protocol_version):
49 self._addrs = set()
50 self._wsd = wsd
51 self._protocolVersion = protocol_version
52 super(AddressMonitorThread, self).__init__()
53 self._updateAddrs()
54
55 def _updateAddrs(self):
56 addrs = set(_getNetworkAddrs(self._protocolVersion))
57
58 disappeared = self._addrs.difference(addrs)
59 new = addrs.difference(self._addrs)
60
61 for addr in disappeared:
62 self._wsd._networkAddressRemoved(addr)
63
64 for addr in new:
65 self._wsd._networkAddressAdded(addr)
66
67 self._addrs = addrs
68
69 def run(self):
70 while not self._quitEvent.wait(NETWORK_ADDRESSES_CHECK_TIMEOUT):
71 self._updateAddrs()
72
73
74class NetworkingThread(_StoppableDaemonThread):

Callers 1

_startThreadsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected