Single TCP/IP connection manager.
More...
#include <transport/transport.hh>
Inherits enable_shared_from_this< Connection >.
|
typedef boost::function< void(const ConnectionPtr &) | AcceptCallback) |
| The signature of a connection accept callback.
|
|
typedef boost::function< void(const std::string &_data) | ReadCallback) |
| The signature of a connection read callback.
|
|
|
| Connection () |
| Constructor.
|
|
virtual | ~Connection () |
| Destructor.
|
|
template<typename Handler > |
void | AsyncRead (Handler _handler) |
| Peform an asyncronous read param[in] _handler Callback to invoke on received data.
|
|
void | Cancel () |
| Cancel all async operations on an open socket.
|
|
bool | Connect (const std::string &_host, unsigned int _port) |
| Connect to a remote host.
|
|
event::ConnectionPtr | ConnectToShutdown (boost::function< void()> _subscriber) |
| Register a function to be called when the connection is shut down.
|
|
void | EnqueueMsg (const std::string &_buffer, bool _force=false) |
| Write data to the socket.
|
|
void | EnqueueMsg (const std::string &_buffer, boost::function< void(uint32_t)> _cb, uint32_t _id, bool _force=false) |
| Write data to the socket.
|
|
unsigned int | GetId () const |
| Get the ID of the connection.
|
|
std::string | GetIPWhiteList () const |
| Get the IP white list, from GAZEBO_IP_WHITE_LIST environment variable.
|
|
std::string | GetLocalAddress () const |
| Get the local address of this connection.
|
|
unsigned int | GetLocalPort () const |
| Get the port of this connection.
|
|
std::string | GetLocalURI () const |
| Get the local URI.
|
|
std::string | GetRemoteAddress () const |
| Get the remote address.
|
|
std::string | GetRemoteHostname () const |
| Get the remote hostname.
|
|
unsigned int | GetRemotePort () const |
| Get the remote port number.
|
|
std::string | GetRemoteURI () const |
| Get the remote URI.
|
|
bool | IsOpen () const |
| Is the connection open?
|
|
void | Listen (unsigned int _port, const AcceptCallback &_acceptCB) |
| Start a server that listens on a port.
|
|
void | ProcessWriteQueue (bool _blocking=false) |
| Handle on-write callbacks.
|
|
bool | Read (std::string &_data) |
| Read data from the socket.
|
|
void | Shutdown () |
| Shutdown the socket.
|
|
void | StartRead (const ReadCallback &_cb) |
| Start a thread that reads from the connection and passes new message to the ReadCallback.
|
|
void | StopRead () |
| Stop the read loop.
|
|
|
static std::string | GetLocalHostname () |
| Get the local hostname.
|
|
static bool | ValidateIP (const std::string &_ip) |
| Return true if the _ip is a valid.
|
|
Single TCP/IP connection manager.
◆ AcceptCallback
typedef boost::function<void(const ConnectionPtr&) AcceptCallback) |
The signature of a connection accept callback.
◆ ReadCallback
typedef boost::function<void(const std::string &_data) ReadCallback) |
The signature of a connection read callback.
◆ Connection()
◆ ~Connection()
◆ AsyncRead()
template<typename Handler >
void AsyncRead |
( |
Handler | _handler | ) |
|
|
inline |
◆ Cancel()
Cancel all async operations on an open socket.
◆ Connect()
bool Connect |
( |
const std::string & | _host, |
|
|
unsigned int | _port ) |
Connect to a remote host.
- Parameters
-
[in] | _host | The host to connect to |
[in] | _port | The port to connect to |
- Returns
- true if connection succeeded, false otherwise
◆ ConnectToShutdown()
Register a function to be called when the connection is shut down.
- Parameters
-
[in] | _subscriber | Function to be called |
- Returns
- Handle that can be used to unregister the function
References EventT< T >::Connect().
◆ EnqueueMsg() [1/2]
void EnqueueMsg |
( |
const std::string & | _buffer, |
|
|
bool | _force = false ) |
Write data to the socket.
- Parameters
-
[in] | _buffer | Data to write |
[in] | _force | If true, block until the data has been written to the socket, otherwise just enqueue the data for asynchronous write |
◆ EnqueueMsg() [2/2]
void EnqueueMsg |
( |
const std::string & | _buffer, |
|
|
boost::function< void(uint32_t)> | _cb, |
|
|
uint32_t | _id, |
|
|
bool | _force = false ) |
Write data to the socket.
- Parameters
-
[in] | _buffer | Data to write |
[in] | _force | If true, block until the data has been written to the socket, otherwise just enqueue the data for asynchronous write |
[in] | _cb | If non-null, callback to be invoked after transmission is complete. |
[in] | _id | ID associated with the message data. |
◆ GetId()
unsigned int GetId |
( |
| ) |
const |
Get the ID of the connection.
- Returns
- The connection's unique ID.
◆ GetIPWhiteList()
std::string GetIPWhiteList |
( |
| ) |
const |
Get the IP white list, from GAZEBO_IP_WHITE_LIST environment variable.
- Returns
- GAZEBO_IP_WHITE_LIST
◆ GetLocalAddress()
std::string GetLocalAddress |
( |
| ) |
const |
Get the local address of this connection.
- Returns
- The local address
◆ GetLocalHostname()
static std::string GetLocalHostname |
( |
| ) |
|
|
static |
Get the local hostname.
- Returns
- The local hostname
◆ GetLocalPort()
unsigned int GetLocalPort |
( |
| ) |
const |
Get the port of this connection.
- Returns
- The local port
◆ GetLocalURI()
std::string GetLocalURI |
( |
| ) |
const |
Get the local URI.
- Returns
- The local URI
◆ GetRemoteAddress()
std::string GetRemoteAddress |
( |
| ) |
const |
Get the remote address.
- Returns
- The remote address
◆ GetRemoteHostname()
std::string GetRemoteHostname |
( |
| ) |
const |
Get the remote hostname.
- Returns
- The remote hostname
◆ GetRemotePort()
unsigned int GetRemotePort |
( |
| ) |
const |
Get the remote port number.
- Returns
- The remote port
◆ GetRemoteURI()
std::string GetRemoteURI |
( |
| ) |
const |
Get the remote URI.
- Returns
- The remote URI
◆ IsOpen()
Is the connection open?
- Returns
- true if the connection is open; false otherwise
Referenced by Connection::AsyncRead().
◆ Listen()
Start a server that listens on a port.
- Parameters
-
[in] | _port | The port to listen on |
[in] | _acceptCB | The callback to invoke when a new connection has been accepted |
◆ ProcessWriteQueue()
void ProcessWriteQueue |
( |
bool | _blocking = false | ) |
|
Handle on-write callbacks.
◆ Read()
bool Read |
( |
std::string & | _data | ) |
|
Read data from the socket.
- Parameters
-
[out] | _data | Destination for data that is read |
- Returns
- true if data was successfully read, false otherwise
◆ Shutdown()
◆ StartRead()
Start a thread that reads from the connection and passes new message to the ReadCallback.
- Parameters
-
[in] | _cb | The callback to invoke when a new message is received |
◆ StopRead()
◆ ValidateIP()
static bool ValidateIP |
( |
const std::string & | _ip | ) |
|
|
static |
Return true if the _ip is a valid.
- Parameters
-
[in] | _ip | Dotted quad to validate. |
- Returns
- True if the _ip is a valid.
The documentation for this class was generated from the following file: