class documentation

Keeps track of the clients that are using a particular publisher.

Provides an API to publish messages and register clients that are using this publisher

Method __init__ Register a publisher on the specified topic.
Method has_clients Return true if there are clients to this publisher.
Method publish Publish a message using this publisher.
Method register_client Register the specified client as a client of this publisher.
Method unregister Unregisters the publisher and clears the clients
Method unregister_client Unregister the specified client from this publisher.
Method verify_type Verify that the publisher publishes messages of the specified type.
Instance Variable clients Undocumented
Instance Variable latched_client_id Undocumented
Instance Variable listener Undocumented
Instance Variable msg_class Undocumented
Instance Variable publisher Undocumented
Instance Variable topic Undocumented
def __init__(self, topic, msg_type=None, latched_client_id=None, queue_size=100):

Register a publisher on the specified topic.

Keyword arguments: topic -- the name of the topic to register the publisher to msg_type -- (optional) the type to register the publisher as. If not provided, an attempt will be made to infer the topic type latch -- (optional) if a client requested this publisher to be latched,

provide the client_id of that client here

Throws: TopicNotEstablishedException -- if no msg_type was specified by the caller and the topic is not yet established, so a topic type cannot be inferred TypeConflictException -- if the msg_type was specified by the caller and the topic is established, and the established type is different to the user-specified msg_type

def has_clients(self):

Return true if there are clients to this publisher.

def publish(self, msg):

Publish a message using this publisher.

Keyword arguments: msg -- the dict (json) message to publish

Throws: Exception -- propagates exceptions from message conversion if the provided msg does not properly conform to the message type of this publisher

def register_client(self, client_id):

Register the specified client as a client of this publisher.

Keyword arguments: client_id -- the ID of the client using the publisher

def unregister(self):

Unregisters the publisher and clears the clients

def unregister_client(self, client_id):

Unregister the specified client from this publisher.

If the specified client_id is not a client of this publisher, nothing happens.

Keyword arguments: client_id -- the ID of the client to remove

def verify_type(self, msg_type):

Verify that the publisher publishes messages of the specified type.

Keyword arguments: msg_type -- the type to check this publisher against

Throws: Exception -- if ros_loader cannot load the specified msg type TypeConflictException -- if the msg_type is different than the type of this publisher

clients: dict =

Undocumented

latched_client_id =

Undocumented

listener =

Undocumented

msg_class =

Undocumented

publisher =

Undocumented

topic =

Undocumented