code: def add_service(self, zeroconf, service_type, name):
          
          self.lock.acquire()
          try:
              self._internal_add(zeroconf, service_type, name)
          finally:
              self.lock.release()
docs: Handle callback from zeroconf when a service has been discovered.