PublisherPeriodic class. More...
Public Member Functions | |
def | __del__ |
Destructor. | |
def | __init__ |
Constructor. | |
def | activate |
activation | |
def | bufferIsEmpty |
Whether a buffer is empty. | |
def | convertReturn |
Convertion from BufferStatus to DataPortStatus. | |
def | createTask |
Setting Taskbool PublisherNew::createTask(const coil::Properties& prop) | |
def | deactivate |
deactivation | |
def | init |
Initialization. | |
def | invokeListener |
Call listeners according to the DataPortStatus. | |
def | isActive |
If publisher is active state. | |
def | onBufferEmpty |
Notify an ON_BUFFER_EMPTY event to listenersinline void onBufferEmpty() | |
def | onBufferFull |
Notify an ON_BUFFER_FULL event to listeners. | |
def | onBufferRead |
Notify an ON_BUFFER_READ event to listeners. | |
def | onBufferWrite |
Notify an ON_BUFFER_WRITE event to listeners. | |
def | onBufferWriteTimeout |
Notify an ON_BUFFER_WRITE_TIMEOUT event to listeners. | |
def | onReceived |
Notify an ON_RECEIVED event to listeners. | |
def | onReceiverError |
Notify an ON_RECEIVER_ERROR event to listeners. | |
def | onReceiverFull |
Notify an ON_RECEIVER_FULL event to listeners. | |
def | onReceiverTimeout |
Notify an ON_RECEIVER_TIMEOUT event to listeners. | |
def | onSend |
Notify an ON_SEND event to listners. | |
def | onSenderEmpty |
Notify an ON_SENDER_EMPTY event to listenersinline void onSenderEmpty() | |
def | onSenderError |
Notify an ON_SENDER_ERROR event to listenersinline void onSenderError() | |
def | pushAll |
push all policy | |
def | pushFifo |
push "fifo" policy | |
def | pushNew |
push "new" policy | |
def | pushSkip |
push "skip" policy | |
def | setBuffer |
Setting buffer pointer. | |
def | setConsumer |
Store InPort consumer. | |
def | setListener |
Set the listener. | |
def | setPushPolicy |
Setting PushPolicyvoid PublisherNew::setPushPolicy(const coil::Properties& prop) | |
def | svc |
Thread execution function A task execution function to be executed by coil::PeriodicTask. | |
def | write |
Write data. | |
Static Public Attributes | |
int | ALL = 0 |
int | FIFO = 1 |
int | NEW = 3 |
int | SKIP = 2 |
Private Attributes | |
_active | |
_buffer | |
_consumer | |
_leftskip | |
_listeners | |
_profile | |
_pushPolicy | |
_readback | |
_retcode | |
_retmutex | |
_rtcout | |
_skipn | |
_task |
PublisherPeriodic class.
Publisher for periodic data transmitting. Usually this class object exists in a Connector object, and it is associated with a buffer and a consumer. This publisher periodically gets data from the buffer and publish it into the consumer.
Definition at line 45 of file PublisherPeriodic.py.
Constructor.
Reimplemented from OpenRTM_aist.DataPortStatus.DataPortStatus.
Definition at line 72 of file PublisherPeriodic.py.
Destructor.
Definition at line 100 of file PublisherPeriodic.py.
activation
This function activates the publisher. By calling this function, this publisher starts the thread that pushes data to InPort. If precondition such as initialization process and so on is not met, the error code PRECONDITION_NOT_MET is returned.
PublisherBase::ReturnCode PublisherPeriodic::activate()
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 570 of file PublisherPeriodic.py.
Whether a buffer is empty.
bool bufferIsEmpty()
Definition at line 1087 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.convertReturn | ( | self, | |
status, | |||
data | |||
) |
Convertion from BufferStatus to DataPortStatus.
This function converts return value from the buffer to DataPortStatus::Enum typed return value. The conversion rule is as follows. Callback functions are also shown, if it exists.
status | BufferStatus |
data | cdrMemoryStream |
PublisherBase::ReturnCodea PublisherPeriodic::convertReturn(BufferStatus::Enum status, const cdrMemoryStream& data)
Definition at line 829 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.createTask | ( | self, | |
prop | |||
) |
Setting Taskbool PublisherNew::createTask(const coil::Properties& prop)
Definition at line 172 of file PublisherPeriodic.py.
deactivation
This function deactivates the publisher. By calling this function, this publisher stops the thread that pushes data to InPort. If precondition such as initialization process and so on is not met, the error code PRECONDITION_NOT_MET is returned.
PublisherBase::ReturnCode PublisherPeriodic::deactivate()
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 603 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.init | ( | self, | |
prop | |||
) |
Initialization.
This function have to be called before using this class object. Properties object that includes certain configuration information should be given as an argument. At least, a numerical value of unit of Hz with the key of "dataport.publisher.push_rate" has to be set to the Properties object of argument. The value is the invocation cycle of data sending process. In case of 5 ms period or 200 Hz, the value should be set as 200.0. False will be returned, if there is no value with the key of "dataport.publisher.push_rate".
The following options are available.
property | Property objects that includes the control information of this Publisher |
PublisherBase::ReturnCode PublisherPeriodic::init(coil::Properties& prop)
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 288 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.invokeListener | ( | self, | |
status, | |||
data | |||
) |
Call listeners according to the DataPortStatus.
status | DataPortStatus |
data | cdrMemoryStream |
PublisherPeriodic::ReturnCode PublisherPeriodic::invokeListener(DataPortStatus::Enum status, const cdrMemoryStream& data)
Definition at line 875 of file PublisherPeriodic.py.
If publisher is active state.
A Publisher can be activated/deactivated synchronized with the data port. The active state and the non-active state are made transition by the "activate()" and the "deactivate()" functions respectively. This function confirms if the publisher is in active state.
bool PublisherPeriodic::isActive()
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 541 of file PublisherPeriodic.py.
Notify an ON_BUFFER_EMPTY event to listenersinline void onBufferEmpty()
Definition at line 1047 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onBufferFull | ( | self, | |
data | |||
) |
Notify an ON_BUFFER_FULL event to listeners.
data | cdrMemoryStream |
inline void onBufferFull(const cdrMemoryStream& data)
Definition at line 928 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onBufferRead | ( | self, | |
data | |||
) |
Notify an ON_BUFFER_READ event to listeners.
data | cdrMemoryStream |
inline void onBufferRead(const cdrMemoryStream& data)
Definition at line 958 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onBufferWrite | ( | self, | |
data | |||
) |
Notify an ON_BUFFER_WRITE event to listeners.
data | cdrMemoryStream |
inline void onBufferWrite(const cdrMemoryStream& data)
Definition at line 913 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onBufferWriteTimeout | ( | self, | |
data | |||
) |
Notify an ON_BUFFER_WRITE_TIMEOUT event to listeners.
data | cdrMemoryStream |
inline void onBufferWriteTimeout(const cdrMemoryStream& data)
Definition at line 943 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onReceived | ( | self, | |
data | |||
) |
Notify an ON_RECEIVED event to listeners.
data | cdrMemoryStream |
inline void onReceived(const cdrMemoryStream& data)
Definition at line 988 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onReceiverError | ( | self, | |
data | |||
) |
Notify an ON_RECEIVER_ERROR event to listeners.
data | cdrMemoryStream |
inline void onReceiverError(const cdrMemoryStream& data)
Definition at line 1033 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onReceiverFull | ( | self, | |
data | |||
) |
Notify an ON_RECEIVER_FULL event to listeners.
data | cdrMemoryStream |
inline void onReceiverFull(const cdrMemoryStream& data)
Definition at line 1003 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onReceiverTimeout | ( | self, | |
data | |||
) |
Notify an ON_RECEIVER_TIMEOUT event to listeners.
data | cdrMemoryStream |
inline void onReceiverTimeout(const cdrMemoryStream& data)
Definition at line 1018 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.onSend | ( | self, | |
data | |||
) |
Notify an ON_SEND event to listners.
data | cdrMemoryStream |
inline void onSend(const cdrMemoryStream& data)
Definition at line 973 of file PublisherPeriodic.py.
Notify an ON_SENDER_EMPTY event to listenersinline void onSenderEmpty()
Definition at line 1060 of file PublisherPeriodic.py.
Notify an ON_SENDER_ERROR event to listenersinline void onSenderError()
Definition at line 1073 of file PublisherPeriodic.py.
push all policy
PublisherBase::ReturnCode PublisherPeriodic::pushAll()
Definition at line 647 of file PublisherPeriodic.py.
push "fifo" policy
PublisherBase::ReturnCode PublisherPeriodic::pushFifo()
Definition at line 677 of file PublisherPeriodic.py.
push "new" policy
PublisherBase::ReturnCode PublisherPeriodic::pushNew()
Definition at line 741 of file PublisherPeriodic.py.
push "skip" policy
PublisherBase::ReturnCode PublisherPeriodic::pushSkip()
Definition at line 705 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.setBuffer | ( | self, | |
buffer | |||
) |
Setting buffer pointer.
This operation sets a buffer that is associated with this object. If the buffer object is NULL, INVALID_ARGS will be returned.
buffer | A pointer to a CDR buffer object. |
PublisherBase::ReturnCode PublisherPeriodic::setBuffer(CdrBufferBase* buffer)
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 356 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.setConsumer | ( | self, | |
consumer | |||
) |
Store InPort consumer.
This operation sets a consumer that is associated with this object. If the consumer object is NULL, INVALID_ARGS will be returned.
consumer | A pointer to a consumer object. |
PublisherBase::ReturnCode PublisherPeriodic::setConsumer(InPortConsumer* consumer)
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 320 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.setListener | ( | self, | |
info, | |||
listeners | |||
) |
Set the listener.
This function sets ConnectorListeners listener object to the Publisher. By setting ConnectorListeners containing various listeners objects, these listeners are called at the time of reading and writing of a buffer, and transmission of data etc. Since the ownership of the ConnectorListeners object is owned by Port or RTObject, the Publisher never deletes the ConnectorListeners object. If the given ConnectorListeners' pointer is NULL, this function returns INVALID_ARGS.
info | ConnectorInfo that is localized object of ConnectorProfile |
listeners | ConnectorListeners that holds various listeners |
PublisherBase::ReturnCode PublisherPeriodic::setListener(ConnectorInfo& info, ConnectorListeners* listeners)
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 402 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.setPushPolicy | ( | self, | |
prop | |||
) |
Setting PushPolicyvoid PublisherNew::setPushPolicy(const coil::Properties& prop)
Definition at line 125 of file PublisherPeriodic.py.
Thread execution function A task execution function to be executed by coil::PeriodicTask.
int PublisherPeriodic::svc(void)
Definition at line 619 of file PublisherPeriodic.py.
def OpenRTM_aist.PublisherPeriodic.PublisherPeriodic.write | ( | self, | |
data, | |||
sec, | |||
usec | |||
) |
Write data.
This function writes data into the buffer associated with this Publisher. If a Publisher object calls this function, without initializing correctly such as a consumer, a buffer, listeners, etc., error code PRECONDITION_NOT_MET will be returned and no operation of the writing to a buffer etc. will be performed.
Since writing into the buffer and sending data to InPort are performed asynchronously, occasionally this function returns return-codes such as CONNECTION_LOST and BUFFER_FULL that indicate the result of sending data to InPort. In this case, writing data into buffer will not be performed.
When publisher writes data to the buffer, if the buffer is filled, returns error, is returned with timeout and returns precondition error, error codes BUFFER_FULL, BUFFER_ERROR, BUFFER_TIMEOUT and PRECONDITION_NOT_MET will be returned respectively.
In other cases, PROT_ERROR will be returned.
data | Data to be wrote to the buffer |
sec | Timeout time in unit seconds |
nsec | Timeout time in unit nano-seconds |
PublisherBase::ReturnCode PublisherPeriodic::write(const cdrMemoryStream& data, unsigned long sec, unsigned long usec)
Reimplemented from OpenRTM_aist.PublisherBase.PublisherBase.
Definition at line 492 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
Definition at line 72 of file PublisherPeriodic.py.
int OpenRTM_aist::PublisherPeriodic.PublisherPeriodic::ALL = 0 [static] |
Definition at line 50 of file PublisherPeriodic.py.
int OpenRTM_aist::PublisherPeriodic.PublisherPeriodic::FIFO = 1 [static] |
Definition at line 51 of file PublisherPeriodic.py.
int OpenRTM_aist::PublisherPeriodic.PublisherPeriodic::NEW = 3 [static] |
Definition at line 53 of file PublisherPeriodic.py.
int OpenRTM_aist::PublisherPeriodic.PublisherPeriodic::SKIP = 2 [static] |
Definition at line 52 of file PublisherPeriodic.py.