OpenRTM-aist 2.0.2
|
InPortPushConnector class. More...
#include <InPortPushConnector.h>
Public Member Functions | |
InPortPushConnector (ConnectorInfo info, InPortProvider *provider, ConnectorListenersBase *listeners, CdrBufferBase *buffer=nullptr) | |
~InPortPushConnector () override | |
Destructor. | |
DataPortStatus | read (ByteDataStreamBase *data) override |
Reading data. | |
DataPortStatus | disconnect () override |
disconnect | |
void | activate () override |
Connector activation. | |
void | deactivate () override |
Connector deactivation. | |
![]() | |
InPortConnector (ConnectorInfo &info, ConnectorListenersBase *listeners, CdrBufferBase *buffer) | |
Constructor. | |
~InPortConnector () override | |
Destructor . | |
const ConnectorInfo & | profile () override |
Getting ConnectorInfo. | |
const char * | id () override |
Getting Connector ID. | |
const char * | name () override |
Getting Connector name. | |
CdrBufferBase * | getBuffer () override |
Getting Buffer. | |
template<class DataType > | |
DataPortStatus | read (DataType &data) |
virtual void | setEndian (bool endian_type) |
Setting an endian type. | |
virtual bool | isLittleEndian () |
Whether this connector's endian is little. | |
bool | setOutPort (OutPortBase *directOutPort) |
template<typename DataType > | |
bool | getDirectData (DataType &data) |
virtual void | unsubscribeInterface (const coil::Properties &prop) |
![]() | |
virtual | ~ConnectorBase ()=default |
Destructor . | |
Protected Member Functions | |
virtual CdrBufferBase * | createBuffer (ConnectorInfo &info) |
create buffer | |
BufferStatus | write (ByteData &cdr) override |
void | onConnect () |
Invoke callback when connection is established . | |
void | onDisconnect () |
Invoke callback when connection is destroied . | |
void | onBufferRead (ByteData &data) |
void | onBufferEmpty (ByteData &) |
void | onBufferReadTimeout (ByteData &) |
Additional Inherited Members | |
![]() | |
Logger | rtclog |
Logger stream . | |
ConnectorInfo | m_profile |
ConnectorInfo . | |
ConnectorListenersBase * | m_listeners |
A reference to a ConnectorListener . | |
CdrBufferBase * | m_buffer |
Connector's buffer . | |
bool | m_littleEndian |
Connected Endian . | |
ConnectorListenersBase * | m_outPortListeners |
A pointer to a OutPort's ConnectorListener . | |
PortBase * | m_directOutPort |
OutProt pointer to the peer in the same process . | |
std::string | m_marshaling_type |
ByteDataStreamBase * | m_cdr |
InPortPushConnector class.
Connector class of InPort 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 InPort. This connector and OutPortPushConnector 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.
InPortPushConnector owns and manages the following objects.
Data written into the OutPort are passed to the InPortProvider::put() by OutPortConnector. The data is written into the buffer in the connector.
RTC::InPortPushConnector::InPortPushConnector | ( | ConnectorInfo | info, |
InPortProvider * | provider, | ||
ConnectorListenersBase * | listeners, | ||
CdrBufferBase * | buffer = nullptr ) |
|
override |
Destructor.
This operation calls disconnect(), which destructs and deletes the consumer, the publisher and the buffer.
|
inlineoverridevirtual |
|
protectedvirtual |
create buffer
This function creates a buffer based on given information.
info | Connector information |
|
inlineoverridevirtual |
|
overridevirtual |
disconnect
This operation destruct and delete the consumer, the publisher and the buffer.
Implements RTC::InPortConnector.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
Invoke callback when connection is established .
|
protected |
Invoke callback when connection is destroied .
|
overridevirtual |
Reading data.
This function reads data from the buffer. If data is read properly, this function will return PORT_OK return code. Except normal return, BUFFER_EMPTY, TIMEOUT, PRECONDITION_NOT_MET and PORT_ERROR will be returned as error codes.
Implements RTC::InPortConnector.
|
overrideprotectedvirtual |
Reimplemented from RTC::InPortConnector.