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.