OpenRTM-aist 2.1.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
RTC::OutPortPushConnector Class Reference

OutPortPushConnector class. More...

#include <OutPortPushConnector.h>

Inheritance diagram for RTC::OutPortPushConnector:
Inheritance graph
[legend]
Collaboration diagram for RTC::OutPortPushConnector:
Collaboration graph
[legend]

Public Member Functions

 OutPortPushConnector (ConnectorInfo info, InPortConsumer *consumer, ConnectorListenersBase *listeners, CdrBufferBase *buffer=nullptr)
 Constructor.
 
 ~OutPortPushConnector () override
 Destructor.
 
DataPortStatus write (RTC::ByteDataStreamBase *data) override
 Writing data.
 
DataPortStatus disconnect () override
 disconnect
 
void activate () override
 Connector activation.
 
void deactivate () override
 Connector deactivation.
 
CdrBufferBasegetBuffer () override
 Getting Buffer.
 
void unsubscribeInterface (const coil::Properties &prop) override
 
- Public Member Functions inherited from RTC::OutPortConnector
 OutPortConnector (ConnectorInfo &info, ConnectorListenersBase *listeners)
 Constructor .
 
 ~OutPortConnector () override
 Destructor .
 
const ConnectorInfoprofile () override
 Getting Profile.
 
const char * id () override
 Getting Connector ID.
 
const char * name () override
 Getting Connector name.
 
virtual void setEndian (bool endian_type)
 Setting an endian type.
 
virtual bool isLittleEndian ()
 return it whether endian setting.
 
template<class DataType >
DataPortStatus write (DataType &data)
 The conversion template of the data type.
 
virtual BufferStatus read (ByteData &data)
 
bool setInPort (InPortBase *directInPort)
 
virtual void setPullDirectMode ()
 
virtual bool pullDirectMode ()
 
- Public Member Functions inherited from RTC::ConnectorBase
virtual ~ConnectorBase ()=default
 Destructor .
 

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 .
 

Additional Inherited Members

- Protected Attributes inherited from RTC::OutPortConnector
Logger rtclog
 Logger streamf .
 
ConnectorInfo m_profile
 PortProfile of the Port .
 
bool m_littleEndian
 Connected Endian .
 
PortBasem_directInPort
 InProt pointer to the peer in the same process .
 
ConnectorListenersBasem_listeners
 A reference to a ConnectorListener .
 
ConnectorListenersBasem_inPortListeners
 A pointer to a InPort's ConnectorListener .
 
bool m_directMode
 
std::string m_marshaling_type
 
ByteDataStreamBasem_cdr
 

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

◆ OutPortPushConnector()

RTC::OutPortPushConnector::OutPortPushConnector ( ConnectorInfo  info,
InPortConsumer consumer,
ConnectorListenersBase listeners,
CdrBufferBase buffer = nullptr 
)

Constructor.

◆ ~OutPortPushConnector()

RTC::OutPortPushConnector::~OutPortPushConnector ( )
override

Destructor.

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

Member Function Documentation

◆ activate()

void RTC::OutPortPushConnector::activate ( )
overridevirtual

Connector activation.

This operation activates this connector

Implements RTC::ConnectorBase.

◆ createBuffer()

virtual CdrBufferBase * RTC::OutPortPushConnector::createBuffer ( ConnectorInfo info)
protectedvirtual

create buffer

◆ createPublisher()

virtual PublisherBase * RTC::OutPortPushConnector::createPublisher ( ConnectorInfo info)
protectedvirtual

create buffer

◆ deactivate()

void RTC::OutPortPushConnector::deactivate ( )
overridevirtual

Connector deactivation.

This operation deactivates this connector

Implements RTC::ConnectorBase.

◆ disconnect()

DataPortStatus RTC::OutPortPushConnector::disconnect ( )
overridevirtual

disconnect

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

Implements RTC::OutPortConnector.

◆ getBuffer()

CdrBufferBase * RTC::OutPortPushConnector::getBuffer ( )
overridevirtual

Getting Buffer.

Implements RTC::OutPortConnector.

◆ onConnect()

void RTC::OutPortPushConnector::onConnect ( )
protected

Invoke callback when connection is established .

◆ onDisconnect()

void RTC::OutPortPushConnector::onDisconnect ( )
protected

Invoke callback when connection is destroied .

◆ unsubscribeInterface()

void RTC::OutPortPushConnector::unsubscribeInterface ( const coil::Properties &  prop)
overridevirtual

Reimplemented from RTC::OutPortConnector.

◆ write()

DataPortStatus RTC::OutPortPushConnector::write ( RTC::ByteDataStreamBase data)
overridevirtual

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.


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