class documentation

Registration manager used by Node implemenation. Communicates with ROS Master to maintain topic registration information. Also responds to publisher updates to create topic connections

Method __init__ ctor. @param handler: node API handler
Method cleanup Cleans up registrations with master and releases topic and service resources @param reason: human-reasonable debug string @type reason: str
Method is_registered Check if Node has been registered yet. @return: True if registration has occurred with master @rtype: bool
Method publisher_update Inform psmanager of latest publisher list for a topic. This will cause L{RegManager} to create a topic connection for all new publishers (in a separate thread). @param resolved_name: resolved topic name @type resolved_name: str @param uris: list of all publishers uris for topic @type uris: [str]...
Method reg_added RegistrationListener callback @param resolved_name: resolved name of topic or service @type resolved_name: str @param data_type_or_uri: either the data type (for topic regs) or the service URI (for service regs)...
Method reg_removed RegistrationListener callback @param resolved_name: resolved name of topic or service @type resolved_name: str @param data_type_or_uri: either the data type (for topic regs) or the service URI (for service regs)...
Method run Main RegManager thread loop. Periodically checks the update queue and generates topic connections
Method start Start the RegManager. This should be passed in as an argument to a thread starter as the RegManager is designed to spin in its own thread @param uri: URI of local node @type uri: str @param master_uri: Master URI @type master_uri: str...
Instance Variable cond Undocumented
Instance Variable handler Undocumented
Instance Variable logger Undocumented
Instance Variable master_uri Undocumented
Instance Variable registered Undocumented
Instance Variable updates Undocumented
Instance Variable uri Undocumented
Method _connect_topic_thread Undocumented
def __init__(self, handler):

ctor. @param handler: node API handler

def cleanup(self, reason):

Cleans up registrations with master and releases topic and service resources @param reason: human-reasonable debug string @type reason: str

def is_registered(self):

Check if Node has been registered yet. @return: True if registration has occurred with master @rtype: bool

def publisher_update(self, resolved_name, uris):

Inform psmanager of latest publisher list for a topic. This will cause L{RegManager} to create a topic connection for all new publishers (in a separate thread). @param resolved_name: resolved topic name @type resolved_name: str @param uris: list of all publishers uris for topic @type uris: [str]

def reg_added(self, resolved_name, data_type_or_uri, reg_type):

RegistrationListener callback @param resolved_name: resolved name of topic or service @type resolved_name: str @param data_type_or_uri: either the data type (for topic regs) or the service URI (for service regs). @type data_type_or_uri: str @param reg_type: Valid values are L{Registration.PUB}, L{Registration.SUB}, L{Registration.SRV} @type reg_type: str

def reg_removed(self, resolved_name, data_type_or_uri, reg_type):

RegistrationListener callback @param resolved_name: resolved name of topic or service @type resolved_name: str @param data_type_or_uri: either the data type (for topic regs) or the service URI (for service regs). @type data_type_or_uri: str @param reg_type: Valid values are L{Registration.PUB}, L{Registration.SUB}, L{Registration.SRV} @type reg_type: str

def run(self):

Main RegManager thread loop. Periodically checks the update queue and generates topic connections

def start(self, uri, master_uri):

Start the RegManager. This should be passed in as an argument to a thread starter as the RegManager is designed to spin in its own thread @param uri: URI of local node @type uri: str @param master_uri: Master URI @type master_uri: str

cond =

Undocumented

handler =

Undocumented

logger =

Undocumented

master_uri =

Undocumented

registered: bool =

Undocumented

updates =

Undocumented

uri =

Undocumented

def _connect_topic_thread(self, topic, uri):

Undocumented