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