public class InPortPullConnector extends InPortConnector
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.
ConnectorBase.ConnectorInfo, ConnectorBase.ConnectorInfoHolder
m_buffer, m_directOutPort, m_isLittleEndian, m_orb, m_outPortListeners, m_profile
Constructor and Description |
---|
InPortPullConnector(ConnectorBase.ConnectorInfo profile,
OutPortConsumer consumer,
ConnectorListeners listeners,
BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
activate()
Connector activation
|
protected BufferBase<org.omg.CORBA.portable.OutputStream> |
createBuffer(ConnectorBase.ConnectorInfo profile)
create buffer
|
void |
deactivate()
Connector deactivation
|
ReturnCode |
disconnect()
Disconnect connection
|
protected void |
onConnect()
Invoke callback when connection is established
|
protected void |
onDisconnect()
Invoke callback when connection is destroied
|
ReturnCode |
read(DataRef<org.omg.CORBA.portable.InputStream> data)
Reading data
|
void |
setListener(ConnectorBase.ConnectorInfo profile,
ConnectorListeners listeners)
Set the listener.
|
getBuffer, id, isLittleEndian, name, profile, setEndian, setOutPort
public InPortPullConnector(ConnectorBase.ConnectorInfo profile, OutPortConsumer consumer, ConnectorListeners listeners, BufferBase<org.omg.CORBA.portable.OutputStream> buffer) throws java.lang.Exception
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.
profile
-
ConnectorInfoconsumer
-
consumer OutPortConsumerlisteners
-
ConnectorListeners type lsitener object listbuffer
-
CdrBufferBase type bufferjava.lang.Exception
public ReturnCode read(DataRef<org.omg.CORBA.portable.InputStream> data)
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.
read
in class InPortConnector
public ReturnCode disconnect()
This operation disconnect this connection
disconnect
in class InPortConnector
public void activate()
This operation activates this connector
activate
in class ConnectorBase
public void deactivate()
This operation deactivates this connector
deactivate
in class ConnectorBase
protected BufferBase<org.omg.CORBA.portable.OutputStream> createBuffer(ConnectorBase.ConnectorInfo profile)
This function creates a buffer based on given information.
profile
-
Connector informationprotected void onConnect()
protected void onDisconnect()
public void setListener(ConnectorBase.ConnectorInfo profile, ConnectorListeners listeners)
InPort provides callback functionality that calls specific listener objects according to the events in the data publishing process. For details, see documentation of ConnectorDataListener class and ConnectorListener class in ConnectorListener.h. In this InPortCorbaCdrProvider provides the following callbacks.
setListener
in class InPortConnector
profile
-
Connector informationlisteners
-
Listener objects