rospy implementation of topics.
Client API
L{Publisher} and L{Subscriber} are the client API for topics.
Internal Implementation
Internally, L{_TopicImpl} instances (_PublisherImpl/_SubscriberImpl) are used to manage actual transport connections. The L{_TopicManager} is responsible for tracking the system-wide state of publications and subscriptions as well as the L{_TopicImpl} instances. More info is below.
L{_TopicManager}
The L{_TopicManager} does the backend topic bookkeeping for the local node. Use L{get_topic_manager()} to access singleton. Actual topic implementations are done through the L{_TopicImpl}/L{_PublisherImpl}/L{_SubscriberImpl} hierarchy. Client code generates instances of type L{Publisher}/L{Subscriber}, which enable to client to create multiple publishers/subscribers of that topic that get controlled access to the underlying share connections.
Common parent classes for all rospy topics. The rospy topic autogenerators create classes that are children of these implementations.
Class |
|
select.poll/kqueue abstraction to handle socket failure detection on multiple platforms. NOT thread-safe. |
Class |
|
Base class of L{Publisher} and L{Subscriber} |
Function | isstring |
Undocumented |
Variable | python3 |
Undocumented |
Class | _ |
Underlying L{_TopicImpl} implementation for publishers. |
Class | _ |
Underlying L{_TopicImpl} implementation for subscriptions. |
Class | _ |
Base class of internal topic implementations. Each topic has a singleton _TopicImpl implementation for managing the underlying connections. |
Class | _ |
Tracks Topic objects See L{get_topic_manager()} for singleton access |
Variable | _logger |
Undocumented |