20#ifndef RTC_PUBLISHERNEW_H
21#define RTC_PUBLISHERNEW_H
24#include <condition_variable>
25#include <coil/PeriodicTask.h>
321 std::chrono::nanoseconds timeout)
override;
703 Logger rtclog{
"PublisherNew"};
704 InPortConsumer* m_consumer{
nullptr};
706 ConnectorInfo m_profile;
707 coil::PeriodicTaskBase* m_task{
nullptr};
708 ConnectorListenersBase* m_listeners{
nullptr};
710 std::mutex m_retmutex;
713 bool m_active{
false};
RT component logger class.
Definition ByteDataStreamBase.h:63
ConnectorInfo class.
Definition ConnectorBase.h:50
Definition ConnectorListener.h:1354
InPortConsumer abstract class.
Definition InPortConsumer.h:78
Logger class.
Definition SystemLogger.h:101
Base class of Publisher.
Definition PublisherBase.h:66
DataPortStatus setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
DataPortStatus setBuffer(CdrBufferBase *buffer) override
Setting buffer pointer.
DataPortStatus init(coil::Properties &prop) override
Initialization.
DataPortStatus write(ByteDataStreamBase *data, std::chrono::nanoseconds timeout) override
Write data.
void onReceiverFull(ByteData &data)
Notify an ON_RECEIVER_FULL event to listeners.
Definition PublisherNew.h:654
DataPortStatus convertReturn(BufferStatus status, ByteData &data)
Convertion from BufferStatus to DataPortStatus.
DataPortStatus pushAll()
push "all" policy
DataPortStatus pushNew()
push "new" policy
Policy
Definition PublisherNew.h:423
@ PUBLISHER_POLICY_FIFO
Definition PublisherNew.h:425
@ PUBLISHER_POLICY_SKIP
Definition PublisherNew.h:426
@ PUBLISHER_POLICY_ALL
Definition PublisherNew.h:424
@ PUBLISHER_POLICY_NEW
Definition PublisherNew.h:427
~PublisherNew() override
Destructor.
void setPushPolicy(const coil::Properties &prop)
Setting PushPolicy .
bool isActive() override
If publisher is active state.
void onBufferWrite(ByteData &data)
Notify an ON_BUFFER_WRITE event to listeners.
Definition PublisherNew.h:556
DataPortStatus setConsumer(InPortConsumer *consumer) override
Store InPort consumer.
void onBufferFull(ByteData &data)
Notify an ON_BUFFER_FULL event to listeners.
Definition PublisherNew.h:570
void onSenderError()
Notify an ON_SENDER_ERROR event to listeners.
Definition PublisherNew.h:696
void onReceived(ByteData &data)
Notify an ON_RECEIVED event to listeners.
Definition PublisherNew.h:640
DataPortStatus invokeListener(DataPortStatus status, ByteData &data)
Call listeners according to the DataPortStatus.
DataPortStatus deactivate() override
deactivation
void onReceiverError(ByteData &data)
Notify an ON_RECEIVER_ERROR event to listeners.
Definition PublisherNew.h:682
void onReceiverTimeout(ByteData &data)
Notify an ON_RECEIVER_TIMEOUT event to listeners.
Definition PublisherNew.h:668
DataPortStatus activate() override
activation
void onSend(ByteData &data)
Notify an ON_SEND event to listners.
Definition PublisherNew.h:626
DataPortStatus pushSkip()
push "skip" policy
void onBufferWriteTimeout(ByteData &data)
Notify an ON_BUFFER_WRITE_TIMEOUT event to listeners.
Definition PublisherNew.h:584
void onBufferRead(ByteData &data)
Notify an ON_BUFFER_READ event to listeners.
Definition PublisherNew.h:612
void onBufferWriteOverwrite(ByteData &data)
Notify an ON_BUFFER_OVERWRITE event to listeners.
Definition PublisherNew.h:598
bool createTask(const coil::Properties &prop)
Setting Task .
DataPortStatus pushFifo()
push "fifo" policy
virtual int svc()
Thread execution function.
PublisherNew()
Constructor.
@ ON_RECEIVER_ERROR
Definition ConnectorListener.h:154
@ ON_RECEIVER_TIMEOUT
Definition ConnectorListener.h:153
@ ON_BUFFER_WRITE_TIMEOUT
Definition ConnectorListener.h:147
@ ON_RECEIVER_FULL
Definition ConnectorListener.h:152
@ ON_SEND
Definition ConnectorListener.h:150
@ ON_BUFFER_OVERWRITE
Definition ConnectorListener.h:148
@ ON_BUFFER_READ
Definition ConnectorListener.h:149
@ ON_RECEIVED
Definition ConnectorListener.h:151
@ ON_BUFFER_WRITE
Definition ConnectorListener.h:145
@ ON_BUFFER_FULL
Definition ConnectorListener.h:146
BufferBase< ByteData > CdrBufferBase
Definition CdrBufferBase.h:31
coil::Properties Properties
Definition RTC.h:72
DataPortStatus
DataPortStatus return codes.
Definition DataPortStatus.h:114
@ PORT_OK
Definition DataPortStatus.h:115
@ ON_SENDER_ERROR
Definition ConnectorListener.h:675
BufferStatus
DataPortStatus return codes.
Definition BufferStatus.h:57
Definition DefaultPeriodicTask.h:24