Handles a connection to a single publisher on a given topic. Receives messages from a publisher and hands them off to its parent Subscription. More...
#include <transport_publisher_link.h>
Public Member Functions | |
virtual void | drop () |
const ConnectionPtr & | getConnection () |
virtual std::string | getTransportInfo () |
virtual std::string | getTransportType () |
bool | initialize (const ConnectionPtr &connection) |
TransportPublisherLink (const SubscriptionPtr &parent, const std::string &xmlrpc_uri, const TransportHints &transport_hints) | |
virtual | ~TransportPublisherLink () |
Public Member Functions inherited from ros::PublisherLink | |
const std::string & | getCallerID () |
int | getConnectionID () const |
const std::string & | getMD5Sum () |
const std::string & | getPublisherXMLRPCURI () |
const Stats & | getStats () |
bool | isLatched () |
PublisherLink (const SubscriptionPtr &parent, const std::string &xmlrpc_uri, const TransportHints &transport_hints) | |
bool | setHeader (const Header &header) |
virtual | ~PublisherLink () |
Private Member Functions | |
virtual void | handleMessage (const SerializedMessage &m, bool ser, bool nocopy) |
Handles handing off a received message to the subscription, where it will be deserialized and called back. More... | |
void | onConnectionDropped (const ConnectionPtr &conn, Connection::DropReason reason) |
bool | onHeaderReceived (const ConnectionPtr &conn, const Header &header) |
void | onHeaderWritten (const ConnectionPtr &conn) |
void | onMessage (const ConnectionPtr &conn, const boost::shared_array< uint8_t > &buffer, uint32_t size, bool success) |
void | onMessageLength (const ConnectionPtr &conn, const boost::shared_array< uint8_t > &buffer, uint32_t size, bool success) |
void | onRetryTimer (const ros::SteadyTimerEvent &) |
Private Attributes | |
ConnectionPtr | connection_ |
boost::signals2::connection | dropped_conn_ |
bool | dropping_ |
bool | needs_retry_ |
SteadyTime | next_retry_ |
WallDuration | retry_period_ |
int32_t | retry_timer_handle_ |
Additional Inherited Members | |
Protected Attributes inherited from ros::PublisherLink | |
std::string | caller_id_ |
unsigned int | connection_id_ |
Header | header_ |
bool | latched_ |
std::string | md5sum_ |
SubscriptionWPtr | parent_ |
std::string | publisher_xmlrpc_uri_ |
Stats | stats_ |
TransportHints | transport_hints_ |
Handles a connection to a single publisher on a given topic. Receives messages from a publisher and hands them off to its parent Subscription.
Definition at line 53 of file transport_publisher_link.h.
ros::TransportPublisherLink::TransportPublisherLink | ( | const SubscriptionPtr & | parent, |
const std::string & | xmlrpc_uri, | ||
const TransportHints & | transport_hints | ||
) |
Definition at line 58 of file transport_publisher_link.cpp.
|
virtual |
Definition at line 66 of file transport_publisher_link.cpp.
|
virtual |
Implements ros::PublisherLink.
Definition at line 114 of file transport_publisher_link.cpp.
|
inline |
Definition at line 62 of file transport_publisher_link.h.
|
virtual |
Implements ros::PublisherLink.
Definition at line 318 of file transport_publisher_link.cpp.
|
virtual |
Implements ros::PublisherLink.
Definition at line 313 of file transport_publisher_link.cpp.
|
privatevirtual |
Handles handing off a received message to the subscription, where it will be deserialized and called back.
Implements ros::PublisherLink.
Definition at line 300 of file transport_publisher_link.cpp.
bool ros::TransportPublisherLink::initialize | ( | const ConnectionPtr & | connection | ) |
Definition at line 79 of file transport_publisher_link.cpp.
|
private |
Definition at line 257 of file transport_publisher_link.cpp.
|
private |
Definition at line 131 of file transport_publisher_link.cpp.
|
private |
Definition at line 125 of file transport_publisher_link.cpp.
|
private |
Definition at line 188 of file transport_publisher_link.cpp.
|
private |
Definition at line 153 of file transport_publisher_link.cpp.
|
private |
Definition at line 206 of file transport_publisher_link.cpp.
|
private |
Definition at line 83 of file transport_publisher_link.h.
|
private |
Definition at line 84 of file transport_publisher_link.h.
|
private |
Definition at line 90 of file transport_publisher_link.h.
|
private |
Definition at line 87 of file transport_publisher_link.h.
|
private |
Definition at line 89 of file transport_publisher_link.h.
|
private |
Definition at line 88 of file transport_publisher_link.h.
|
private |
Definition at line 86 of file transport_publisher_link.h.