#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. More... | |
void | clear (Connection::DropReason reason) |
ConnectionManager () | |
uint32_t | getNewConnectionID () |
Get a new connection ID. More... | |
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.
ros::ConnectionManager::ConnectionManager | ( | ) |
Definition at line 49 of file connection_manager.cpp.
ros::ConnectionManager::~ConnectionManager | ( | ) |
Definition at line 54 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 140 of file connection_manager.cpp.
void ros::ConnectionManager::clear | ( | Connection::DropReason | reason | ) |
Definition at line 103 of file connection_manager.cpp.
uint32_t ros::ConnectionManager::getNewConnectionID | ( | ) |
Get a new connection ID.
Definition at line 133 of file connection_manager.cpp.
uint32_t ros::ConnectionManager::getTCPPort | ( | ) |
Definition at line 123 of file connection_manager.cpp.
|
inline |
Definition at line 67 of file connection_manager.h.
uint32_t ros::ConnectionManager::getUDPPort | ( | ) |
Definition at line 128 of file connection_manager.cpp.
|
inline |
Definition at line 68 of file connection_manager.h.
|
static |
Definition at line 43 of file connection_manager.cpp.
|
private |
Definition at line 148 of file connection_manager.cpp.
|
private |
Definition at line 196 of file connection_manager.cpp.
|
private |
Definition at line 154 of file connection_manager.cpp.
void ros::ConnectionManager::shutdown | ( | ) |
Definition at line 84 of file connection_manager.cpp.
void ros::ConnectionManager::start | ( | ) |
Definition at line 59 of file connection_manager.cpp.
|
private |
Definition at line 185 of file connection_manager.cpp.
void ros::ConnectionManager::udprosIncomingConnection | ( | const TransportUDPPtr & | transport, |
Header & | header | ||
) |
Definition at line 173 of file connection_manager.cpp.
|
private |
Definition at line 94 of file connection_manager.h.
|
private |
Definition at line 95 of file connection_manager.h.
|
private |
Definition at line 87 of file connection_manager.h.
|
private |
Definition at line 89 of file connection_manager.h.
|
private |
Definition at line 88 of file connection_manager.h.
|
private |
Definition at line 90 of file connection_manager.h.
|
staticprivate |
Definition at line 102 of file connection_manager.h.
|
private |
Definition at line 97 of file connection_manager.h.
|
private |
Definition at line 85 of file connection_manager.h.
|
private |
Definition at line 99 of file connection_manager.h.
|
private |
Definition at line 100 of file connection_manager.h.