Example #1
0
 def _remove(self, ps, rmap, reg_type):
     """
     Remove L{_TopicImpl} instance from rmap
     @param ps: a pub/sub impl instance
     @type  ps: L{_TopicImpl}
     @param rmap: topic->_TopicImpl rmap to remove instance in
     @type  rmap: dict
     @param reg_type: L{rospy.registration.Registration.PUB} or L{rospy.registration.Registration.SUB}
     @type  reg_type: str
     """
     resolved_name = ps.resolved_name
     _logger.debug("tm._remove: %s, %s, %s", resolved_name, ps.type, reg_type)
     with self.lock:
         del rmap[resolved_name]
         self. _recalculate_topics()
         
         # NOTE: this call can take a lengthy amount of time (at
         # least until its reimplemented to use queues)
         get_registration_listeners().notify_removed(resolved_name, ps.type, reg_type)
Example #2
0
 def _add(self, ps, rmap, reg_type):
     """
     Add L{_TopicImpl} instance to rmap
     @param ps: a pub/sub impl instance
     @type  ps: L{_TopicImpl}
     @param rmap: { topic: _TopicImpl} rmap to record instance in
     @type  rmap: dict
     @param reg_type: L{rospy.registration.Registration.PUB} or L{rospy.registration.Registration.SUB}
     @type  reg_type: str
     """
     resolved_name = ps.resolved_name
     _logger.debug("tm._add: %s, %s, %s", resolved_name, ps.type, reg_type)
     with self.lock:
         rmap[resolved_name] = ps
         self.topics.add(resolved_name)
         
         # NOTE: this call can take a lengthy amount of time (at
         # least until its reimplemented to use queues)
         get_registration_listeners().notify_added(resolved_name, ps.type, reg_type)
Example #3
0
    def _remove(self, ps, rmap, reg_type):
        """
        Remove L{_TopicImpl} instance from rmap
        @param ps: a pub/sub impl instance
        @type  ps: L{_TopicImpl}
        @param rmap: topic->_TopicImpl rmap to remove instance in
        @type  rmap: dict
        @param reg_type: L{rospy.registration.Registration.PUB} or L{rospy.registration.Registration.SUB}
        @type  reg_type: str
        """
        resolved_name = ps.resolved_name
        _logger.debug("tm._remove: %s, %s, %s", resolved_name, ps.type, reg_type)
        with self.lock:
            del rmap[resolved_name]
            self._recalculate_topics()

            # NOTE: this call can take a lengthy amount of time (at
            # least until its reimplemented to use queues)
            get_registration_listeners().notify_removed(resolved_name, ps.type, reg_type)
Example #4
0
    def _add(self, ps, rmap, reg_type):
        """
        Add L{_TopicImpl} instance to rmap
        @param ps: a pub/sub impl instance
        @type  ps: L{_TopicImpl}
        @param rmap: { topic: _TopicImpl} rmap to record instance in
        @type  rmap: dict
        @param reg_type: L{rospy.registration.Registration.PUB} or L{rospy.registration.Registration.SUB}
        @type  reg_type: str
        """
        resolved_name = ps.resolved_name
        _logger.debug("tm._add: %s, %s, %s", resolved_name, ps.type, reg_type)
        with self.lock:
            rmap[resolved_name] = ps
            self.topics.add(resolved_name)

            # NOTE: this call can take a lengthy amount of time (at
            # least until its reimplemented to use queues)
            get_registration_listeners().notify_added(resolved_name, ps.type, reg_type)
Example #5
0
 def __init__(self, registration_listeners=None):
     """
     ctor
     @param registration_listeners: override default registration listener.
     @type  registration_listeners: RegistrationListeners
     """
     self.map = {} # {name : Service}
     self.lock = threading.RLock()
     if registration_listeners is None:
         self.registration_listeners = get_registration_listeners()
     else:
         self.registration_listeners = registration_listeners       
Example #6
0
 def __init__(self, registration_listeners=None):
     """
     ctor
     @param registration_listeners: override default registration listener.
     @type  registration_listeners: RegistrationListeners
     """
     self.map = {}  # {name : Service}
     self.lock = threading.RLock()
     if registration_listeners is None:
         self.registration_listeners = get_registration_listeners()
     else:
         self.registration_listeners = registration_listeners
Example #7
0
 def test_get_registration_listeners(self):
     from rospy.impl.registration import RegistrationListeners, get_registration_listeners
     r = get_registration_listeners()
     self.assert_(isinstance(r, RegistrationListeners))
Example #8
0
 def test_get_registration_listeners(self):
     from rospy.impl.registration import RegistrationListeners, get_registration_listeners
     r = get_registration_listeners()
     self.assert_(isinstance(r, RegistrationListeners))