Orocos Real-Time Toolkit  2.9.0
Public Member Functions | List of all members
RTT::types::TypeTransporter Class Referenceabstract

This interface defines the function a transport protocol must support in order to allow Orocos components to remotely communicate one data type. More...

#include <rtt/types/TypeTransporter.hpp>

Inheritance diagram for RTT::types::TypeTransporter:
RTT::corba::CorbaTypeTransporter RTT::types::TypeMarshaller RTT::corba::CorbaFallBackProtocol RTT::corba::CorbaTemplateProtocol< T > RTT::mqueue::MQTemplateProtocolBase< T > RTT::mqueue::MQSerializationProtocol< T > RTT::mqueue::MQTemplateProtocol< T >

Public Member Functions

virtual ~TypeTransporter ()
 
virtual base::ChannelElementBase::shared_ptr createStream (base::PortInterface *port, const ConnPolicy &policy, bool is_sender) const =0
 Creates a streaming channel element for reading or writing over this transport. More...
 

Detailed Description

This interface defines the function a transport protocol must support in order to allow Orocos components to remotely communicate one data type.

Typically, a transport will have more functions than these basic functions to implements it's transport-specific needs for each data type.

Definition at line 60 of file TypeTransporter.hpp.

Constructor & Destructor Documentation

virtual RTT::types::TypeTransporter::~TypeTransporter ( )
inlinevirtual

Definition at line 63 of file TypeTransporter.hpp.

Member Function Documentation

virtual base::ChannelElementBase::shared_ptr RTT::types::TypeTransporter::createStream ( base::PortInterface port,
const ConnPolicy policy,
bool  is_sender 
) const
pure virtual

Creates a streaming channel element for reading or writing over this transport.

It returns a ChannelElementBase that provides the implementation of sending or receiving data through the transport. Both sender and receiver find each other using the channel_id argument. Transports that do not support streaming may return null

Parameters
portThe port for which this channel is setup.
channel_idIf the transport receives a non-empty channel_id, it will create a channel that connects to this id. If channel id is empty, it will be filled in with a unique identifier that identifies this channel. This allows the local caller to connect to the remote channel in a second invocation of createRemoteChannel.
is_senderSet to true in case you will write() to this channel element, set it to false in case you will read() from this channel element.
Returns
null in case streaming is not supported by this transport or a valid channel element otherwise.

Implemented in RTT::corba::CorbaFallBackProtocol, RTT::corba::CorbaTypeTransporter, and RTT::mqueue::MQTemplateProtocolBase< T >.

Referenced by RTT::corba::RemoteInputPort::buildRemoteChannelOutput(), RTT::internal::ConnFactory::createAndCheckStream(), and RTT::corba::CDataFlowInterface_i::deregisterChannel().


The documentation for this class was generated from the following file: