InPortPullConnector class. More...
#include <InPortPullConnector.h>
Public Member Functions | |
virtual void | activate () |
Connector activation. More... | |
virtual void | deactivate () |
Connector deactivation. More... | |
virtual ReturnCode | disconnect () |
Disconnect connection. More... | |
DATAPORTSTATUS_ENUM | InPortPullConnector (ConnectorInfo info, OutPortConsumer *consumer, ConnectorListeners &listeners, CdrBufferBase *buffer=0) |
Constructor. More... | |
virtual ReturnCode | read (cdrMemoryStream &data) |
Destructor. More... | |
virtual | ~InPortPullConnector () |
Destructor. More... | |
Public Member Functions inherited from RTC::InPortConnector | |
virtual CdrBufferBase * | getBuffer () |
Getting Buffer. More... | |
virtual const char * | id () |
Getting Connector ID. More... | |
DATAPORTSTATUS_ENUM | InPortConnector (ConnectorInfo &info, CdrBufferBase *buffer) |
Constructor. More... | |
virtual bool | isLittleEndian () |
Whether this connector's endian is little. More... | |
virtual const char * | name () |
Getting Connector name. More... | |
virtual const ConnectorInfo & | profile () |
Getting ConnectorInfo. More... | |
virtual void | setEndian (const bool endian_type) |
Setting an endian type. More... | |
virtual | ~InPortConnector () |
Destructor. More... | |
Public Member Functions inherited from RTC::ConnectorBase | |
virtual | ~ConnectorBase () |
Destructor. More... | |
Protected Member Functions | |
CdrBufferBase * | createBuffer (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 | |
OutPortConsumer * | m_consumer |
the pointer to the OutPortConsumer More... | |
ConnectorListeners & | m_listeners |
A reference to a ConnectorListener. 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::InPortConnector | |
CdrBufferBase * | m_buffer |
Connector's buffer. More... | |
bool | m_littleEndian |
Connected Endian. More... | |
ConnectorInfo | m_profile |
ConnectorInfo. More... | |
Logger | rtclog |
Logger stream. More... | |
InPortPullConnector class.
Connector class of InPort for pull type dataflow. When "pull" is specified as dataflow_type at the time of establishing connection, this object is generated and owned by the InPort. This connector and InPortPullConnector make a pair and realize pull 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.
InPortPullConnector owns and manages the following objects.
Data written into the OutPort is passed to the OutPortPullConnector::write(), and is written into the buffer. Consequently, InPort::read() and InPortPullConnector::read() call OutPortConsumer::get(), and it reads data from the buffer of OutPortPullConnector. Finally data would be written into the InPortPullConnector's buffer.
Definition at line 87 of file InPortPullConnector.h.
RTC::InPortPullConnector::InPortPullConnector | ( | ConnectorInfo | info, |
OutPortConsumer * | consumer, | ||
ConnectorListeners & | listeners, | ||
CdrBufferBase * | buffer = 0 |
||
) |
Constructor.
InPortPullConnector's constructor is given the following arguments. According to ConnectorInfo which includes connection information, a buffer is created. It is also given a pointer to the consumer object for the OutPort interface. The owner-ship of the pointer is owned by this OutPortPullConnector, it has responsibility to destruct the OutPortConsumer. OutPortPullConnector 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.
info | ConnectorInfo |
consumer | OutPortConsumer |
listeners | ConnectorListeners type lsitener object list |
buffer | CdrBufferBase type buffer |
Definition at line 33 of file InPortPullConnector.cpp.
|
virtual |
Destructor.
This operation calls disconnect(), which destructs and deletes the consumer, the publisher and the buffer.
Definition at line 63 of file InPortPullConnector.cpp.
|
inlinevirtual |
Connector activation.
This operation activates this connector
Implements RTC::ConnectorBase.
Definition at line 217 of file InPortPullConnector.h.
|
protected |
create buffer
This function creates a buffer based on given information.
info | Connector information |
Definition at line 115 of file InPortPullConnector.cpp.
|
inlinevirtual |
Connector deactivation.
This operation deactivates this connector
Implements RTC::ConnectorBase.
Definition at line 233 of file InPortPullConnector.h.
|
virtual |
Disconnect connection.
This operation disconnect this connection
Implements RTC::InPortConnector.
Definition at line 94 of file InPortPullConnector.cpp.
|
protected |
Invoke callback when connection is established.
Definition at line 130 of file InPortPullConnector.cpp.
|
protected |
Invoke callback when connection is destroied.
Definition at line 142 of file InPortPullConnector.cpp.
|
virtual |
Destructor.
This function get data from OutPortConsumer. 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.
Definition at line 77 of file InPortPullConnector.cpp.
|
private |
the pointer to the OutPortConsumer
Definition at line 283 of file InPortPullConnector.h.
|
private |
A reference to a ConnectorListener.
Definition at line 292 of file InPortPullConnector.h.