#include <PublisherNew.h>
Public Member Functions | |
PublisherNew (InPortConsumer *consumer, const Properties &property) | |
Constructor. | |
virtual | ~PublisherNew () |
Destructor. | |
virtual void | update () |
Observer function. | |
virtual int | svc (void) |
Thread execution function. | |
virtual int | open (void *args) |
Task start function. | |
virtual void | release () |
Task terminate function. | |
Classes | |
struct | NewData |
Send new data at timing of when it is stored into the buffer. This class is used when operating Consumer that waits for the data send timing in different thread from one of the send side. Publisher's driven is blocked until the data send timing reaches, if the send timing notification is received, the Consumer's send processing will be invoked immediately.
RTC::PublisherNew::PublisherNew | ( | InPortConsumer * | consumer, | |
const Properties & | property | |||
) |
Constructor.
Constructor Create new thread for this Publisher.
consumer | Consumer that waits for the data sending | |
property | Property object that is configured this Publisher's control information.(Unused in this Publisher) |
virtual RTC::PublisherNew::~PublisherNew | ( | ) | [virtual] |
Destructor.
Destructor
virtual void RTC::PublisherNew::update | ( | ) | [virtual] |
Observer function.
Invoke at send timing. Start this Publisher's control that has been blocked and do the send processing to Consumer.
Implements RTC::PublisherBase.
virtual int RTC::PublisherNew::svc | ( | void | ) | [virtual] |
Thread execution function.
ACE_Task::svc() override function. Make thread stand by until data in the buffer is updated.
virtual int RTC::PublisherNew::open | ( | void * | args | ) | [virtual] |
Task start function.
ACE_Task::open() override function. Create newly thread for this Publisher.
args | Thread creation arguments (Unused in this Publisher) |
virtual void RTC::PublisherNew::release | ( | ) | [virtual] |
Task terminate function.
ACE_Task::release() override function. Set driven flag to false, and terminate this Publisher's operation. However, if the driven thread is blocked, Consumer's send processing may be invoked maximum once.
Reimplemented from RTC::PublisherBase.