Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory, UDP... More...
#include <transport.h>
Public Types | |
typedef boost::function< void(const TransportPtr &)> | Callback |
Public Member Functions | |
virtual void | close ()=0 |
Close this transport. Once this call has returned, writing on this transport should always return an error. | |
virtual void | disableRead ()=0 |
Disable reading on this transport. Allows derived classes to, for example, disable read polling for asynchronous sockets. | |
virtual void | disableWrite ()=0 |
Disable writing on this transport. Allows derived classes to, for example, disable write polling for asynchronous sockets. | |
virtual void | enableRead ()=0 |
Enable reading on this transport. Allows derived classes to, for example, enable read polling for asynchronous sockets. | |
virtual void | enableWrite ()=0 |
Enable writing on this transport. Allows derived classes to, for example, enable write polling for asynchronous sockets. | |
virtual std::string | getTransportInfo ()=0 |
Returns a string description of both the type of transport and who the transport is connected to. | |
virtual const char * | getType ()=0 |
Return a string that details the type of transport (Eg. TCPROS). | |
virtual void | parseHeader (const Header &header) |
Provides an opportunity for transport-specific options to come in through the header. | |
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. | |
virtual bool | requiresHeader () |
Returns a boolean to indicate if the transport mechanism is reliable or not. | |
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. | |
void | setReadCallback (const Callback &cb) |
Set the function to call when there is data available to be read by this transport. | |
void | setWriteCallback (const Callback &cb) |
Set the function to call when there is space available to write on this transport. | |
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. | |
virtual | ~Transport () |
Protected Attributes | |
Callback | disconnect_cb_ |
Callback | read_cb_ |
Callback | write_cb_ |
Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory, UDP...
Definition at line 54 of file transport.h.
typedef boost::function<void(const TransportPtr&)> ros::Transport::Callback |
Definition at line 104 of file transport.h.
ros::Transport::Transport | ( | ) | [inline] |
Definition at line 57 of file transport.h.
virtual ros::Transport::~Transport | ( | ) | [inline, virtual] |
Definition at line 58 of file transport.h.
virtual void ros::Transport::close | ( | ) | [pure virtual] |
Close this transport. Once this call has returned, writing on this transport should always return an error.
Implemented in ros::TransportTCP, and ros::TransportUDP.
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.
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.
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.
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.
virtual std::string ros::Transport::getTransportInfo | ( | ) | [pure virtual] |
Returns a string description of both the type of transport and who the transport is connected to.
Implemented in ros::TransportTCP, and ros::TransportUDP.
virtual const char* ros::Transport::getType | ( | ) | [pure virtual] |
Return a string that details the type of transport (Eg. TCPROS).
Implemented in ros::TransportTCP, and ros::TransportUDP.
virtual void ros::Transport::parseHeader | ( | const Header & | header | ) | [inline, virtual] |
Provides an opportunity for transport-specific options to come in through the header.
Reimplemented in ros::TransportTCP.
Definition at line 131 of file transport.h.
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.
buffer | Buffer to read from | |
size | Size, in bytes, to read |
Implemented in ros::TransportTCP, and ros::TransportUDP.
virtual bool ros::Transport::requiresHeader | ( | ) | [inline, virtual] |
Returns a boolean to indicate if the transport mechanism is reliable or not.
Reimplemented in ros::TransportUDP.
Definition at line 126 of file transport.h.
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 108 of file transport.h.
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 112 of file transport.h.
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 116 of file transport.h.
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.
buffer | Buffer to write from | |
size | Size, in bytes, to write |
Implemented in ros::TransportTCP, and ros::TransportUDP.
Callback ros::Transport::disconnect_cb_ [protected] |
Definition at line 134 of file transport.h.
Callback ros::Transport::read_cb_ [protected] |
Definition at line 135 of file transport.h.
Callback ros::Transport::write_cb_ [protected] |
Definition at line 136 of file transport.h.