20#ifndef RTC_PUBLISHERPERIODIC_H 
   21#define RTC_PUBLISHERPERIODIC_H 
   24#include <condition_variable> 
   25#include <coil/PeriodicTask.h> 
  320                     std::chrono::nanoseconds timeout) 
override;
 
  714      if (m_buffer->
empty() && !m_readback)
 
  724    Logger rtclog{
"PublisherPeriodic"};
 
  725    InPortConsumer* m_consumer{
nullptr};
 
  727    ConnectorInfo m_profile;
 
  728    coil::PeriodicTaskBase* m_task{
nullptr};
 
  729    ConnectorListenersBase* m_listeners{
nullptr};
 
  731    std::mutex m_retmutex;
 
  734    bool m_active{
false};
 
  735    bool m_readback{
false};
 
 
void PublisherPeriodicInit()
 
RT component logger class.
 
#define RTC_DEBUG(fmt)
Debug level log output macro.
Definition SystemLogger.h:665
 
DataPortStatus mixin class.
 
BufferBase abstract class.
Definition BufferBase.h:106
 
virtual bool empty() const =0
Check on whether the buffer is empty.
 
Definition ByteDataStreamBase.h:63
 
ConnectorInfo class.
Definition ConnectorBase.h:50
 
Definition ConnectorListener.h:1354
 
virtual::RTC::ConnectorListenerStatus::Enum notifyOut(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
Notify listeners. (Typed data version)
 
virtual::RTC::ConnectorListenerStatus::Enum notify(ConnectorListenerType type, ConnectorInfo &info)=0
Virtual Callback method.
 
InPortConsumer abstract class.
Definition InPortConsumer.h:78
 
Base class of Publisher.
Definition PublisherBase.h:66
 
PublisherPeriodic class.
Definition PublisherPeriodic.h:65
 
DataPortStatus pushAll()
push "all" policy
 
DataPortStatus write(ByteDataStreamBase *data, std::chrono::nanoseconds timeout) override
Write data.
 
void onBufferWrite(ByteData &data)
Notify an ON_BUFFER_WRITE event to listeners.
Definition PublisherPeriodic.h:554
 
PublisherPeriodic()
Constructor.
 
void onReceived(ByteData &data)
Notify an ON_RECEIVED event to listeners.
Definition PublisherPeriodic.h:627
 
bool createTask(const coil::Properties &prop)
Setting Task .
 
void onSend(ByteData &data)
Notify an ON_SEND event to listners.
Definition PublisherPeriodic.h:613
 
void onReceiverFull(ByteData &data)
Notify an ON_RECEIVER_FULL event to listeners.
Definition PublisherPeriodic.h:641
 
DataPortStatus invokeListener(DataPortStatus status, ByteData &data)
Call listeners according to the DataPortStatus.
 
void onBufferWriteTimeout(ByteData &data)
Notify an ON_BUFFER_WRITE_TIMEOUT event to listeners.
Definition PublisherPeriodic.h:584
 
DataPortStatus pushFifo()
push "fifo" policy
 
DataPortStatus pushNew()
push "new" policy
 
void onBufferEmpty()
Notify an ON_BUFFER_EMPTY event to listeners .
Definition PublisherPeriodic.h:681
 
void onReceiverError(ByteData &data)
Notify an ON_RECEIVER_ERROR event to listeners.
Definition PublisherPeriodic.h:669
 
DataPortStatus init(coil::Properties &prop) override
Initialization.
 
DataPortStatus convertReturn(BufferStatus status, ByteData &data)
Convertion from BufferStatus to DataPortStatus.
 
void onBufferFull(ByteData &data)
Notify an ON_BUFFER_FULL event to listeners.
Definition PublisherPeriodic.h:569
 
~PublisherPeriodic() override
Destructor.
 
DataPortStatus activate() override
activation
 
DataPortStatus setBuffer(CdrBufferBase *buffer) override
Setting buffer pointer.
 
void setPushPolicy(const coil::Properties &prop)
Setting PushPolicy .
 
void onReceiverTimeout(ByteData &data)
Notify an ON_RECEIVER_TIMEOUT event to listeners.
Definition PublisherPeriodic.h:655
 
DataPortStatus setConsumer(InPortConsumer *consumer) override
Store InPort consumer.
 
void onSenderError()
Notify an ON_SENDER_ERROR event to listeners .
Definition PublisherPeriodic.h:705
 
DataPortStatus pushSkip()
push "skip" policy
 
Policy
Definition PublisherPeriodic.h:421
 
@ PUBLISHER_POLICY_ALL
Definition PublisherPeriodic.h:422
 
@ PUBLISHER_POLICY_NEW
Definition PublisherPeriodic.h:425
 
@ PUBLISHER_POLICY_SKIP
Definition PublisherPeriodic.h:424
 
@ PUBLISHER_POLICY_FIFO
Definition PublisherPeriodic.h:423
 
void onSenderEmpty()
Notify an ON_SENDER_EMPTY event to listeners .
Definition PublisherPeriodic.h:693
 
bool isActive() override
If publisher is active state.
 
DataPortStatus setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
 
DataPortStatus deactivate() override
deactivation
 
void onBufferRead(ByteData &data)
Notify an ON_BUFFER_READ event to listeners.
Definition PublisherPeriodic.h:599
 
virtual int svc()
Thread execution function.
 
@ ON_BUFFER_WRITE_TIMEOUT
 
BufferBase< ByteData > CdrBufferBase
Definition CdrBufferBase.h:31
 
coil::Properties Properties
Definition RTC.h:72
 
BufferStatus
DataPortStatus return codes.
Definition BufferStatus.h:57
 
Definition DefaultPeriodicTask.h:24