#include <connection_manager.h>
Public Member Functions | |
void | addConnection (const ConnectionPtr &connection) |
Add a connection to be tracked by the node. Will automatically remove them if they've been dropped, but from inside the ros thread. | |
void | clear (Connection::DropReason reason) |
ConnectionManager () | |
uint32_t | getNewConnectionID () |
Get a new connection ID. | |
uint32_t | getTCPPort () |
const TransportTCPPtr & | getTCPServerTransport () |
uint32_t | getUDPPort () |
const TransportUDPPtr & | getUDPServerTransport () |
void | shutdown () |
void | start () |
void | udprosIncomingConnection (const TransportUDPPtr &transport, Header &header) |
~ConnectionManager () | |
Static Public Member Functions | |
static const ConnectionManagerPtr & | instance () |
Private Member Functions | |
void | onConnectionDropped (const ConnectionPtr &conn) |
bool | onConnectionHeaderReceived (const ConnectionPtr &conn, const Header &header) |
void | removeDroppedConnections () |
void | tcprosAcceptConnection (const TransportTCPPtr &transport) |
Private Attributes | |
uint32_t | connection_id_counter_ |
boost::mutex | connection_id_counter_mutex_ |
S_Connection | connections_ |
boost::mutex | connections_mutex_ |
V_Connection | dropped_connections_ |
boost::mutex | dropped_connections_mutex_ |
boost::signals2::connection | poll_conn_ |
PollManagerPtr | poll_manager_ |
TransportTCPPtr | tcpserver_transport_ |
TransportUDPPtr | udpserver_transport_ |
Static Private Attributes | |
static const int | MAX_TCPROS_CONN_QUEUE = 100 |
Definition at line 44 of file connection_manager.h.
Definition at line 59 of file connection_manager.cpp.
Definition at line 64 of file connection_manager.cpp.
void ros::ConnectionManager::addConnection | ( | const ConnectionPtr & | connection | ) |
Add a connection to be tracked by the node. Will automatically remove them if they've been dropped, but from inside the ros thread.
The | connection to add |
Definition at line 150 of file connection_manager.cpp.
void ros::ConnectionManager::clear | ( | Connection::DropReason | reason | ) |
Definition at line 113 of file connection_manager.cpp.
uint32_t ros::ConnectionManager::getNewConnectionID | ( | ) |
Get a new connection ID.
Definition at line 143 of file connection_manager.cpp.
uint32_t ros::ConnectionManager::getTCPPort | ( | ) |
Definition at line 133 of file connection_manager.cpp.
const TransportTCPPtr& ros::ConnectionManager::getTCPServerTransport | ( | ) | [inline] |
Definition at line 67 of file connection_manager.h.
uint32_t ros::ConnectionManager::getUDPPort | ( | ) |
Definition at line 138 of file connection_manager.cpp.
const TransportUDPPtr& ros::ConnectionManager::getUDPServerTransport | ( | ) | [inline] |
Definition at line 68 of file connection_manager.h.
const ConnectionManagerPtr & ros::ConnectionManager::instance | ( | ) | [static] |
Definition at line 45 of file connection_manager.cpp.
void ros::ConnectionManager::onConnectionDropped | ( | const ConnectionPtr & | conn | ) | [private] |
Definition at line 158 of file connection_manager.cpp.
bool ros::ConnectionManager::onConnectionHeaderReceived | ( | const ConnectionPtr & | conn, |
const Header & | header | ||
) | [private] |
Definition at line 206 of file connection_manager.cpp.
void ros::ConnectionManager::removeDroppedConnections | ( | ) | [private] |
Definition at line 164 of file connection_manager.cpp.
void ros::ConnectionManager::shutdown | ( | ) |
Definition at line 94 of file connection_manager.cpp.
void ros::ConnectionManager::start | ( | ) |
Definition at line 69 of file connection_manager.cpp.
void ros::ConnectionManager::tcprosAcceptConnection | ( | const TransportTCPPtr & | transport | ) | [private] |
Definition at line 195 of file connection_manager.cpp.
void ros::ConnectionManager::udprosIncomingConnection | ( | const TransportUDPPtr & | transport, |
Header & | header | ||
) |
Definition at line 183 of file connection_manager.cpp.
uint32_t ros::ConnectionManager::connection_id_counter_ [private] |
Definition at line 94 of file connection_manager.h.
boost::mutex ros::ConnectionManager::connection_id_counter_mutex_ [private] |
Definition at line 95 of file connection_manager.h.
S_Connection ros::ConnectionManager::connections_ [private] |
Definition at line 87 of file connection_manager.h.
boost::mutex ros::ConnectionManager::connections_mutex_ [private] |
Definition at line 89 of file connection_manager.h.
V_Connection ros::ConnectionManager::dropped_connections_ [private] |
Definition at line 88 of file connection_manager.h.
boost::mutex ros::ConnectionManager::dropped_connections_mutex_ [private] |
Definition at line 90 of file connection_manager.h.
const int ros::ConnectionManager::MAX_TCPROS_CONN_QUEUE = 100 [static, private] |
Definition at line 102 of file connection_manager.h.
boost::signals2::connection ros::ConnectionManager::poll_conn_ [private] |
Definition at line 97 of file connection_manager.h.
PollManagerPtr ros::ConnectionManager::poll_manager_ [private] |
Definition at line 85 of file connection_manager.h.
TransportTCPPtr ros::ConnectionManager::tcpserver_transport_ [private] |
Definition at line 99 of file connection_manager.h.
TransportUDPPtr ros::ConnectionManager::udpserver_transport_ [private] |
Definition at line 100 of file connection_manager.h.