#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.