Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory, UDP...
More...
#include <transport.h>
|
virtual void | close ()=0 |
| Close this transport. Once this call has returned, writing on this transport should always return an error. More...
|
|
virtual void | disableRead ()=0 |
| Disable reading on this transport. Allows derived classes to, for example, disable read polling for asynchronous sockets. More...
|
|
virtual void | disableWrite ()=0 |
| Disable writing on this transport. Allows derived classes to, for example, disable write polling for asynchronous sockets. More...
|
|
virtual void | enableRead ()=0 |
| Enable reading on this transport. Allows derived classes to, for example, enable read polling for asynchronous sockets. More...
|
|
virtual void | enableWrite ()=0 |
| Enable writing on this transport. Allows derived classes to, for example, enable write polling for asynchronous sockets. More...
|
|
virtual std::string | getTransportInfo ()=0 |
| Returns a string description of both the type of transport and who the transport is connected to. More...
|
|
virtual const char * | getType ()=0 |
| Return a string that details the type of transport (Eg. TCPROS) More...
|
|
virtual void | parseHeader (const Header &header) |
| Provides an opportunity for transport-specific options to come in through the header. More...
|
|
virtual int32_t | read (uint8_t *buffer, uint32_t size)=0 |
| Read a number of bytes into the supplied buffer. Not guaranteed to actually read that number of bytes. More...
|
|
virtual bool | requiresHeader () |
| Returns a boolean to indicate if the transport mechanism is reliable or not. More...
|
|
void | setDisconnectCallback (const Callback &cb) |
| Set the function to call when this transport has disconnected, either through a call to close(). Or a disconnect from the remote host. More...
|
|
void | setReadCallback (const Callback &cb) |
| Set the function to call when there is data available to be read by this transport. More...
|
|
void | setWriteCallback (const Callback &cb) |
| Set the function to call when there is space available to write on this transport. More...
|
|
| Transport () |
|
virtual int32_t | write (uint8_t *buffer, uint32_t size)=0 |
| Write a number of bytes from the supplied buffer. Not guaranteed to actually write that number of bytes. More...
|
|
virtual | ~Transport () |
|
|
bool | isHostAllowed (const std::string &host) const |
| returns true if the transport is allowed to connect to the host passed to it. More...
|
|
bool | isOnlyLocalhostAllowed () const |
| returns true if this transport is only allowed to talk to localhost More...
|
|
Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory, UDP...
Definition at line 56 of file transport.h.
◆ Callback
◆ Transport()
ros::Transport::Transport |
( |
| ) |
|
◆ ~Transport()
virtual ros::Transport::~Transport |
( |
| ) |
|
|
inlinevirtual |
◆ close()
virtual void ros::Transport::close |
( |
| ) |
|
|
pure virtual |
◆ disableRead()
virtual void ros::Transport::disableRead |
( |
| ) |
|
|
pure virtual |
Disable reading on this transport. Allows derived classes to, for example, disable read polling for asynchronous sockets.
Implemented in ros::TransportTCP, and ros::TransportUDP.
◆ disableWrite()
virtual void ros::Transport::disableWrite |
( |
| ) |
|
|
pure virtual |
Disable writing on this transport. Allows derived classes to, for example, disable write polling for asynchronous sockets.
Implemented in ros::TransportTCP, and ros::TransportUDP.
◆ enableRead()
virtual void ros::Transport::enableRead |
( |
| ) |
|
|
pure virtual |
Enable reading on this transport. Allows derived classes to, for example, enable read polling for asynchronous sockets.
Implemented in ros::TransportTCP, and ros::TransportUDP.
◆ enableWrite()
virtual void ros::Transport::enableWrite |
( |
| ) |
|
|
pure virtual |
Enable writing on this transport. Allows derived classes to, for example, enable write polling for asynchronous sockets.
Implemented in ros::TransportTCP, and ros::TransportUDP.
◆ getTransportInfo()
virtual std::string ros::Transport::getTransportInfo |
( |
| ) |
|
|
pure virtual |
◆ getType()
virtual const char* ros::Transport::getType |
( |
| ) |
|
|
pure virtual |
◆ isHostAllowed()
bool ros::Transport::isHostAllowed |
( |
const std::string & |
host | ) |
const |
|
protected |
returns true if the transport is allowed to connect to the host passed to it.
Definition at line 111 of file transport.cpp.
◆ isOnlyLocalhostAllowed()
bool ros::Transport::isOnlyLocalhostAllowed |
( |
| ) |
const |
|
inlineprotected |
returns true if this transport is only allowed to talk to localhost
Definition at line 148 of file transport.h.
◆ parseHeader()
virtual void ros::Transport::parseHeader |
( |
const Header & |
header | ) |
|
|
inlinevirtual |
Provides an opportunity for transport-specific options to come in through the header.
Reimplemented in ros::TransportTCP.
Definition at line 133 of file transport.h.
◆ read()
virtual int32_t ros::Transport::read |
( |
uint8_t * |
buffer, |
|
|
uint32_t |
size |
|
) |
| |
|
pure virtual |
Read a number of bytes into the supplied buffer. Not guaranteed to actually read that number of bytes.
- Parameters
-
buffer | Buffer to read from |
size | Size, in bytes, to read |
- Returns
- The number of bytes actually read, or -1 if there was an error
Implemented in ros::TransportTCP, and ros::TransportUDP.
◆ requiresHeader()
virtual bool ros::Transport::requiresHeader |
( |
| ) |
|
|
inlinevirtual |
Returns a boolean to indicate if the transport mechanism is reliable or not.
Reimplemented in ros::TransportUDP.
Definition at line 128 of file transport.h.
◆ setDisconnectCallback()
void ros::Transport::setDisconnectCallback |
( |
const Callback & |
cb | ) |
|
|
inline |
Set the function to call when this transport has disconnected, either through a call to close(). Or a disconnect from the remote host.
Definition at line 110 of file transport.h.
◆ setReadCallback()
void ros::Transport::setReadCallback |
( |
const Callback & |
cb | ) |
|
|
inline |
Set the function to call when there is data available to be read by this transport.
Definition at line 114 of file transport.h.
◆ setWriteCallback()
void ros::Transport::setWriteCallback |
( |
const Callback & |
cb | ) |
|
|
inline |
Set the function to call when there is space available to write on this transport.
Definition at line 118 of file transport.h.
◆ write()
virtual int32_t ros::Transport::write |
( |
uint8_t * |
buffer, |
|
|
uint32_t |
size |
|
) |
| |
|
pure virtual |
Write a number of bytes from the supplied buffer. Not guaranteed to actually write that number of bytes.
- Parameters
-
buffer | Buffer to write from |
size | Size, in bytes, to write |
- Returns
- The number of bytes actually written, or -1 if there was an error
Implemented in ros::TransportTCP, and ros::TransportUDP.
◆ allowed_hosts_
std::vector<std::string> ros::Transport::allowed_hosts_ |
|
private |
◆ disconnect_cb_
◆ only_localhost_allowed_
bool ros::Transport::only_localhost_allowed_ |
|
private |
◆ read_cb_
◆ write_cb_
The documentation for this class was generated from the following files:
roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim, Dirk Thomas
autogenerated on Mon Feb 28 2022 23:33:27