示例#1
0
class MDNSSubscription(object):
    def __init__(self, zeroconf, listener, regtype):
        self.listener = listener
        self.regtype = regtype + ".local."
        self.zeroconf = zeroconf
        self.browser = ServiceBrowser(self.zeroconf, self.regtype,
                                      self.listener)

    def close(self):
        self.browser.cancel()
示例#2
0
class MDNSSubscription(object):
    def __init__(self, zeroconf, listener, regtype):
        self.listener = listener
        self.regtype = regtype + ".local."
        self.zeroconf = zeroconf
        self._scheduleCallback()
        self.browser = ServiceBrowser(self.zeroconf, self.regtype,
                                      self.listener)

    def _scheduleCallback(self):
        self.timer = Timer(3600, self._garbageCollect)
        self.timer.start()

    def _garbageCollect(self):
        self.listener.garbageCollect(self.zeroconf, self.regtype)
        self._scheduleCallback()

    def close(self):
        if self.timer:
            self.timer.cancel()
        self.browser.cancel()