Orocos Real-Time Toolkit  2.6.0
Public Member Functions
RTT::types::TypeTransporter Class Reference

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::MQTemplateProtocol< T >

List of all members.

Public Member Functions

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.

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.


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::mqueue::MQTemplateProtocol< T >, and RTT::corba::CorbaTypeTransporter.

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


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