|virtual void||activate ()|
|Connector activation. |
|virtual void||deactivate ()|
|Connector deactivation. |
|virtual ReturnCode||disconnect ()|
|virtual CdrBufferBase *||getBuffer ()|
|Getting Buffer. |
|DATAPORTSTATUS_ENUM||OutPortPushConnector (ConnectorInfo info, InPortConsumer *consumer, ConnectorListeners &listeners, CdrBufferBase *buffer=0)|
|virtual ReturnCode||write (const cdrMemoryStream &data)|
|Writing data. |
|virtual CdrBufferBase *||createBuffer (ConnectorInfo &info)|
|create buffer |
|virtual PublisherBase *||createPublisher (ConnectorInfo &info)|
|create buffer |
|Invoke callback when connection is established. |
|Invoke callback when connection is destroied. |
|A pointer to a buffer. |
|A pointer to an InPortConsumer. |
|A reference to a ConnectorListener. |
|A pointer to a publisher. |
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.
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.
|CdrBufferBase *||buffer =
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.
|listeners||ConnectorListeners type lsitener object list|
|buffer||CdrBufferBase type buffer|
|CdrBufferBase * RTC::OutPortPushConnector::createBuffer||(||ConnectorInfo &||info||)||
|PublisherBase * RTC::OutPortPushConnector::createPublisher||(||ConnectorInfo &||info||)||
|ConnectorBase::ReturnCode RTC::OutPortPushConnector::write||(||const cdrMemoryStream &||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.