ros::Transport Class Reference

Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory, UDP... More...

#include <transport.h>

Inheritance diagram for ros::Transport:
Inheritance graph
[legend]

List of all members.

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_

Detailed Description

Abstract base class that allows abstraction of the transport type, eg. TCP, shared memory, UDP...

Definition at line 54 of file transport.h.


Member Typedef Documentation

typedef boost::function<void(const TransportPtr&)> ros::Transport::Callback

Definition at line 104 of file transport.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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

Returns:
The stringified transport type

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.

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.

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.

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.


Member Data Documentation

Definition at line 134 of file transport.h.

Definition at line 135 of file transport.h.

Definition at line 136 of file transport.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


roscpp
Author(s): Morgan Quigley mquigley@cs.stanford.edu, Josh Faust jfaust@willowgarage.com, Brian Gerkey gerkey@willowgarage.com
autogenerated on Fri Jan 11 10:08:41 2013