code: def on_service_arrival(self, svc_ref):
          
          with self._lock:
              if svc_ref not in self.services:
                  # Get the key property
                  prop_value = svc_ref.get_property(self._key)
                  if (
                      prop_value not in self._future_value
                      and prop_value is not None
                      or self._allow_none
                  ):
                      # Matching new property value
                      service = self._context.get_service(svc_ref)
  
                      # Store the information
                      self._future_value[prop_value] = service
                      self.services[svc_ref] = service
  
                      # Call back iPOPO
                      self._ipopo_instance.bind(self, service, svc_ref)
                      return True
  
              return None
docs: Called when a service has been registered in the framework
  
          :param svc_ref: A service reference