39 #ifndef ORO_MQSENDER_HPP_ 40 #define ORO_MQSENDER_HPP_ 43 #include "../../rtt-fwd.hpp" 44 #include "../../base/DataSourceBase.hpp" Implements the sending/receiving of mqueue messages.
types::TypeMarshaller const & mtransport
Transport marshaller used for size calculations and data updates.
virtual void mqNewSample(base::DataSourceBase::shared_ptr ds)
Adapts the mq send/receive buffer size according to the data in mqdata_source, or the value set in md...
bool mqRead(base::DataSourceBase::shared_ptr ds)
Read from the message queue.
void * marshaller_cookie
A private blob that is returned by mtransport.getCookie().
bool mis_sender
True if this object is a sender.
void setupStream(base::DataSourceBase::shared_ptr ds, base::PortInterface *port, ConnPolicy const &policy, bool is_sender)
std::string mqname
The name of the queue, as specified in the ConnPolicy when creating the stream, or self-calculated wh...
int max_size
The size of buf.
A connection policy object describes how a given connection should behave.
bool mqWrite(base::DataSourceBase::shared_ptr ds)
Write to the message queue.
virtual bool mqReady(base::DataSourceBase::shared_ptr ds, base::ChannelElementBase *chan)
Works only in receive mode, waits for a new sample and adapts the receive buffer to match it's size...
Objects implementing this interface have the capability to convert data sources to and from a binary ...
int mdata_size
The size of the data, as specified in the ConnPolicy when creating the stream, or calculated using th...
char * buf
Send/Receive buffer.
bool minit_done
True if setupStream() was called, false after cleanupStream().
MQSendRecv(types::TypeMarshaller const &transport)
Create a channel element for remote data exchange.
boost::intrusive_ptr< DataSourceBase > shared_ptr
Use this type to store a pointer to a DataSourceBase.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
In the data flow implementation, a channel is created by chaining ChannelElementBase objects...
The base class of every data flow port.
mqd_t mqdes
MQueue file descriptor.