RTC::OutPortPushConnector Class Reference

OutPortPushConnector class. More...

#include <OutPortPushConnector.h>

Inheritance diagram for RTC::OutPortPushConnector:
RTC::OutPortConnector RTC::ConnectorBase RTC::DataPortStatus

List of all members.

Public Member Functions

DATAPORTSTATUS_ENUM OutPortPushConnector (ConnectorInfo info, InPortConsumer *consumer, ConnectorListeners &listeners, CdrBufferBase *buffer=0)
 Constructor.
virtual ~OutPortPushConnector ()
 Destructor.
virtual ReturnCode write (const cdrMemoryStream &data)
 Writing data.
virtual ReturnCode disconnect ()
 disconnect
virtual void activate ()
 Connector activation.
virtual void deactivate ()
 Connector deactivation.
virtual CdrBufferBasegetBuffer ()
 Getting Buffer.

Protected Member Functions

virtual PublisherBasecreatePublisher (ConnectorInfo &info)
 create buffer
virtual CdrBufferBasecreateBuffer (ConnectorInfo &info)
 create buffer
void onConnect ()
 Invoke callback when connection is established.
void onDisconnect ()
 Invoke callback when connection is destroied.

Detailed Description

OutPortPushConnector class.

Connector class of OutPort for push type dataflow. When "push" is specified as dataflow_type at the time of establishing connection, this object is generated and owned by the OutPort. This connector and InPortPushConnector make a pair and realize push type dataflow of data ports. One connector corresponds to one connection which provides a data stream. Connector is distinguished by ID of the UUID that is generated at establishing connection.

OutPortPushConnector owns and manages the following objects.

Since:
1.0.0

Data written into the OutPort is passed to OutPortPushConnector::write(), and the connector writes into the publisher. The publisher gets data from the buffer based on the policy and it is transferred to InPort by pushing it into the InPortConsumer.


Constructor & Destructor Documentation

DATAPORTSTATUS_ENUM RTC::OutPortPushConnector::OutPortPushConnector ( ConnectorInfo  info,
InPortConsumer consumer,
ConnectorListeners listeners,
CdrBufferBase buffer = 0 
)

Constructor.

OutPortPushConnector's constructor is given the following arguments. According to ConnectorInfo which includes connection information, a publisher and a buffer are created. It is also given a pointer to the consumer object for the InPort interface. The owner-ship of the pointer is owned by this OutPortPushConnector, it has responsibility to destruct the InPortConsumer. OutPortPushConnector also has ConnectorListeners to provide event callback mechanisms, and they would be called at the proper timing. If data buffer is given by OutPortBase, the pointer to the buffer is also given as arguments.

Parameters:
info ConnectorInfo
consumer InPortConsumer
listeners ConnectorListeners type lsitener object list
buffer CdrBufferBase type buffer
virtual RTC::OutPortPushConnector::~OutPortPushConnector (  )  [virtual]

Destructor.

This operation calls disconnect(), which destructs and deletes the consumer, the publisher and the buffer.


Member Function Documentation

virtual void RTC::OutPortPushConnector::activate (  )  [virtual]

Connector activation.

This operation activates this connector

Implements RTC::ConnectorBase.

virtual CdrBufferBase* RTC::OutPortPushConnector::createBuffer ( ConnectorInfo info  )  [protected, virtual]

create buffer

This function creates a buffer based on given information.

Parameters:
info Connector information
Returns:
The poitner to the buffer
virtual PublisherBase* RTC::OutPortPushConnector::createPublisher ( ConnectorInfo info  )  [protected, virtual]

create buffer

This function creates a publisher based on given information.

Parameters:
info Connector information
Returns:
The poitner to the publisher
virtual void RTC::OutPortPushConnector::deactivate (  )  [virtual]

Connector deactivation.

This operation deactivates this connector

Implements RTC::ConnectorBase.

virtual ReturnCode RTC::OutPortPushConnector::disconnect (  )  [virtual]

disconnect

This operation destruct and delete the consumer, the publisher and the buffer.

Implements RTC::OutPortConnector.

virtual CdrBufferBase* RTC::OutPortPushConnector::getBuffer (  )  [virtual]

Getting Buffer.

This operation returns this connector's buffer

Implements RTC::OutPortConnector.

void RTC::OutPortPushConnector::onConnect (  )  [protected]

Invoke callback when connection is established.

void RTC::OutPortPushConnector::onDisconnect (  )  [protected]

Invoke callback when connection is destroied.

virtual ReturnCode RTC::OutPortPushConnector::write ( const cdrMemoryStream &  data  )  [virtual]

Writing data.

This operation writes data into publisher and then the data will be transferred to correspondent InPort. If data is written properly, this function will return PORT_OK return code. Except normal return, CONNECTION_LOST, BUFFER_FULL, BUFFER_ERROR, PORT_ERROR, BUFFER_TIMEOUT and PRECONDITION_NO_MET will be returned as error codes.

Returns:
PORT_OK Normal return CONNECTION_LOST Connectin lost BUFFER_FULL Buffer full BUFFER_ERROR Buffer error BUFFER_TIMEOUT Timeout PRECONDITION_NOT_MET Precondition not met PORT_ERROR Other error

Implements RTC::OutPortConnector.

Generated on Fri Oct 28 18:31:18 2016 for OpenRTM-aist by  doxygen 1.6.3