SubscriberLink handles broadcasting messages to a single subscriber on a single topic. More...
#include <transport_subscriber_link.h>
Public Member Functions | |
virtual void | drop () |
virtual void | enqueueMessage (const SerializedMessage &m, bool ser, bool nocopy) |
Queue up a message for publication. Throws out old messages if we've reached our Publication's max queue size. | |
const ConnectionPtr & | getConnection () |
virtual std::string | getTransportType () |
bool | handleHeader (const Header &header) |
bool | initialize (const ConnectionPtr &connection) |
TransportSubscriberLink () | |
virtual | ~TransportSubscriberLink () |
Private Member Functions | |
void | onConnectionDropped (const ConnectionPtr &conn) |
void | onHeaderWritten (const ConnectionPtr &conn) |
void | onMessageWritten (const ConnectionPtr &conn) |
void | startMessageWrite (bool immediate_write) |
Private Attributes | |
ConnectionPtr | connection_ |
boost::signals::connection | dropped_conn_ |
bool | header_written_ |
std::queue< SerializedMessage > | outbox_ |
boost::mutex | outbox_mutex_ |
bool | queue_full_ |
bool | writing_message_ |
SubscriberLink handles broadcasting messages to a single subscriber on a single topic.
Definition at line 40 of file transport_subscriber_link.h.
ros::TransportSubscriberLink::TransportSubscriberLink | ( | ) |
Definition at line 44 of file transport_subscriber_link.cpp.
ros::TransportSubscriberLink::~TransportSubscriberLink | ( | ) | [virtual] |
Definition at line 52 of file transport_subscriber_link.cpp.
void ros::TransportSubscriberLink::drop | ( | ) | [virtual] |
Implements ros::SubscriberLink.
Definition at line 223 of file transport_subscriber_link.cpp.
void ros::TransportSubscriberLink::enqueueMessage | ( | const SerializedMessage & | m, | |
bool | nocopy, | |||
bool | ser | |||
) | [virtual] |
Queue up a message for publication. Throws out old messages if we've reached our Publication's max queue size.
Implements ros::SubscriberLink.
Definition at line 173 of file transport_subscriber_link.cpp.
const ConnectionPtr& ros::TransportSubscriberLink::getConnection | ( | ) | [inline] |
Definition at line 50 of file transport_subscriber_link.h.
std::string ros::TransportSubscriberLink::getTransportType | ( | ) | [virtual] |
Implements ros::SubscriberLink.
Definition at line 218 of file transport_subscriber_link.cpp.
bool ros::TransportSubscriberLink::handleHeader | ( | const Header & | header | ) |
Definition at line 65 of file transport_subscriber_link.cpp.
bool ros::TransportSubscriberLink::initialize | ( | const ConnectionPtr & | connection | ) |
Definition at line 57 of file transport_subscriber_link.cpp.
void ros::TransportSubscriberLink::onConnectionDropped | ( | const ConnectionPtr & | conn | ) | [private] |
Definition at line 121 of file transport_subscriber_link.cpp.
void ros::TransportSubscriberLink::onHeaderWritten | ( | const ConnectionPtr & | conn | ) | [private] |
Definition at line 135 of file transport_subscriber_link.cpp.
void ros::TransportSubscriberLink::onMessageWritten | ( | const ConnectionPtr & | conn | ) | [private] |
Definition at line 141 of file transport_subscriber_link.cpp.
void ros::TransportSubscriberLink::startMessageWrite | ( | bool | immediate_write | ) | [private] |
Definition at line 147 of file transport_subscriber_link.cpp.
Definition at line 66 of file transport_subscriber_link.h.
boost::signals::connection ros::TransportSubscriberLink::dropped_conn_ [private] |
Definition at line 67 of file transport_subscriber_link.h.
bool ros::TransportSubscriberLink::header_written_ [private] |
Definition at line 64 of file transport_subscriber_link.h.
std::queue<SerializedMessage> ros::TransportSubscriberLink::outbox_ [private] |
Definition at line 69 of file transport_subscriber_link.h.
boost::mutex ros::TransportSubscriberLink::outbox_mutex_ [private] |
Definition at line 70 of file transport_subscriber_link.h.
bool ros::TransportSubscriberLink::queue_full_ [private] |
Definition at line 71 of file transport_subscriber_link.h.
bool ros::TransportSubscriberLink::writing_message_ [private] |
Definition at line 63 of file transport_subscriber_link.h.