Public Member Functions | Protected Member Functions | Private Attributes | List of all members
RTC::OutPortPushConnector Class Reference

OutPortPushConnector class. More...

#include <OutPortPushConnector.h>

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

Public Member Functions

virtual void activate ()
 Connector activation. More...
 
virtual void deactivate ()
 Connector deactivation. More...
 
virtual ReturnCode disconnect ()
 disconnect More...
 
virtual CdrBufferBasegetBuffer ()
 Getting Buffer. More...
 
DATAPORTSTATUS_ENUM OutPortPushConnector (ConnectorInfo info, InPortConsumer *consumer, ConnectorListeners &listeners, CdrBufferBase *buffer=0)
 Constructor. More...
 
virtual ReturnCode write (const cdrMemoryStream &data)
 Writing data. More...
 
virtual ~OutPortPushConnector ()
 Destructor. More...
 
- Public Member Functions inherited from RTC::OutPortConnector
const char * id ()
 Getting Connector ID. More...
 
virtual bool isLittleEndian ()
 return it whether endian setting. More...
 
const char * name ()
 Getting Connector name. More...
 
DATAPORTSTATUS_ENUM OutPortConnector (ConnectorInfo &info)
 Constructor. More...
 
const ConnectorInfoprofile ()
 Getting Profile. More...
 
virtual void setEndian (const bool endian_type)
 Setting an endian type. More...
 
template<class DataType >
ReturnCode write (const DataType &data)
 The conversion template of the data type. More...
 
virtual ~OutPortConnector ()
 Destructor. More...
 
- Public Member Functions inherited from RTC::ConnectorBase
virtual ~ConnectorBase ()
 Destructor. More...
 

Protected Member Functions

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

Private Attributes

CdrBufferBasem_buffer
 A pointer to a buffer. More...
 
InPortConsumerm_consumer
 A pointer to an InPortConsumer. More...
 
ConnectorListenersm_listeners
 A reference to a ConnectorListener. More...
 
PublisherBasem_publisher
 A pointer to a publisher. More...
 

Additional Inherited Members

- Public Types inherited from RTC::DataPortStatus
enum  Enum {
  PORT_OK = 0, PORT_ERROR, BUFFER_ERROR, BUFFER_FULL,
  BUFFER_EMPTY, BUFFER_TIMEOUT, SEND_FULL, SEND_TIMEOUT,
  RECV_EMPTY, RECV_TIMEOUT, INVALID_ARGS, PRECONDITION_NOT_MET,
  CONNECTION_LOST, UNKNOWN_ERROR
}
 DataPortStatus return codes. More...
 
- Static Public Member Functions inherited from RTC::DataPortStatus
static const char * toString (DataPortStatus::Enum status)
 Convert DataPortStatus into the string. More...
 
- Protected Attributes inherited from RTC::OutPortConnector
cdrMemoryStream m_cdr
 CDR stream. More...
 
bool m_littleEndian
 Connected Endian. More...
 
ConnectorInfo m_profile
 PortProfile of the Port. More...
 
Logger rtclog
 Logger stream. More...
 

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.

Definition at line 85 of file OutPortPushConnector.h.

Constructor & Destructor Documentation

◆ OutPortPushConnector()

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
infoConnectorInfo
consumerInPortConsumer
listenersConnectorListeners type lsitener object list
bufferCdrBufferBase type buffer

Mock OutPortPushConnector

Definition at line 34 of file OutPortPushConnector.cpp.

◆ ~OutPortPushConnector()

RTC::OutPortPushConnector::~OutPortPushConnector ( )
virtual

Destructor.

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

Definition at line 72 of file OutPortPushConnector.cpp.

Member Function Documentation

◆ activate()

void RTC::OutPortPushConnector::activate ( )
virtual

Connector activation.

Connector activation This operation activates this connector.

This operation activates this connector

Implements RTC::ConnectorBase.

Definition at line 143 of file OutPortPushConnector.cpp.

◆ createBuffer()

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

create buffer

This function creates a buffer based on given information.

Parameters
infoConnector information
Returns
The poitner to the buffer

Definition at line 203 of file OutPortPushConnector.cpp.

◆ createPublisher()

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

create buffer

create publisher

This function creates a publisher based on given information.

Parameters
infoConnector information
Returns
The poitner to the publisher

Definition at line 187 of file OutPortPushConnector.cpp.

◆ deactivate()

void RTC::OutPortPushConnector::deactivate ( )
virtual

Connector deactivation.

Connector deactivation This operation deactivates this connector.

This operation deactivates this connector

Implements RTC::ConnectorBase.

Definition at line 157 of file OutPortPushConnector.cpp.

◆ disconnect()

ConnectorBase::ReturnCode RTC::OutPortPushConnector::disconnect ( )
virtual

disconnect

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

Implements RTC::OutPortConnector.

Definition at line 101 of file OutPortPushConnector.cpp.

◆ getBuffer()

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

Getting Buffer.

This operation returns this connector's buffer

Implements RTC::OutPortConnector.

Definition at line 175 of file OutPortPushConnector.cpp.

◆ onConnect()

void RTC::OutPortPushConnector::onConnect ( )
protected

Invoke callback when connection is established.

Definition at line 218 of file OutPortPushConnector.cpp.

◆ onDisconnect()

void RTC::OutPortPushConnector::onDisconnect ( )
protected

Invoke callback when connection is destroied.

Definition at line 230 of file OutPortPushConnector.cpp.

◆ write()

ConnectorBase::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.

Definition at line 86 of file OutPortPushConnector.cpp.

Member Data Documentation

◆ m_buffer

CdrBufferBase* RTC::OutPortPushConnector::m_buffer
private

A pointer to a buffer.

Definition at line 354 of file OutPortPushConnector.h.

◆ m_consumer

InPortConsumer* RTC::OutPortPushConnector::m_consumer
private

A pointer to an InPortConsumer.

Definition at line 327 of file OutPortPushConnector.h.

◆ m_listeners

ConnectorListeners& RTC::OutPortPushConnector::m_listeners
private

A reference to a ConnectorListener.

Definition at line 345 of file OutPortPushConnector.h.

◆ m_publisher

PublisherBase* RTC::OutPortPushConnector::m_publisher
private

A pointer to a publisher.

Definition at line 336 of file OutPortPushConnector.h.


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


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Mon Feb 28 2022 23:00:47