|
Orocos Real-Time Toolkit
2.6.0
|
For each transportable type T, specify the conversion functions. More...
#include <rtt/transports/mqueue/MQTemplateProtocol.hpp>
Public Types | |
| typedef T | UserType |
| The given T parameter is the type for reading DataSources. | |
Public Member Functions | |
| BOOST_STATIC_ASSERT (!boost::has_virtual_destructor< T >::value) | |
| We don't support types with virtual functions ! TODO: use this type trait to make the necessary adjustments in the memcopy (adding the vptr table offset). | |
| virtual std::pair< void const *, int > | fillBlob (base::DataSourceBase::shared_ptr source, void *blob, int size, void *cookie) const |
| Create an transportable object for a protocol which contains the value of source. | |
| virtual bool | updateFromBlob (const void *blob, int size, base::DataSourceBase::shared_ptr target, void *cookie) const |
| Update target with the contents of blob which is an object of a protocol. | |
| virtual unsigned int | getSampleSize (base::DataSourceBase::shared_ptr ignored, void *cookie) const |
| Returns the size in bytes of a marshalled data element. | |
| virtual base::ChannelElementBase::shared_ptr | createStream (base::PortInterface *port, const ConnPolicy &policy, bool is_sender) const |
| Creates a streaming channel element for reading or writing over this transport. | |
| virtual void * | createCookie () const |
| Overload in subclasses for marshallers that need to allocate some internal data. | |
| virtual void | deleteCookie (void *cookie) const |
| Called to delete a cookie created with createCookie. | |
For each transportable type T, specify the conversion functions.
Definition at line 60 of file MQTemplateProtocol.hpp.
| virtual void* RTT::types::TypeMarshaller::createCookie | ( | ) | const [inline, virtual, inherited] |
Overload in subclasses for marshallers that need to allocate some internal data.
The protocol will call deleteCookie(void*) accordingly
Definition at line 68 of file TypeMarshaller.hpp.
| virtual base::ChannelElementBase::shared_ptr RTT::mqueue::MQTemplateProtocol< T >::createStream | ( | base::PortInterface * | port, |
| const ConnPolicy & | policy, | ||
| bool | is_sender | ||
| ) | const [inline, virtual] |
Creates a streaming channel element for reading or writing over this transport.
It returns a ChannelElementBase that provides the implementation of sending or receiving data through the transport. Both sender and receiver find each other using the channel_id argument. Transports that do not support streaming may return null
| port | The port for which this channel is setup. |
| channel_id | If the transport receives a non-empty channel_id, it will create a channel that connects to this id. If channel id is empty, it will be filled in with a unique identifier that identifies this channel. This allows the local caller to connect to the remote channel in a second invocation of createRemoteChannel. |
| is_sender | Set to true in case you will write() to this channel element, set it to false in case you will read() from this channel element. |
Implements RTT::types::TypeTransporter.
Definition at line 99 of file MQTemplateProtocol.hpp.
| virtual std::pair<void const*,int> RTT::mqueue::MQTemplateProtocol< T >::fillBlob | ( | base::DataSourceBase::shared_ptr | source, |
| void * | blob, | ||
| int | size, | ||
| void * | cookie | ||
| ) | const [inline, virtual] |
Create an transportable object for a protocol which contains the value of source.
This must be a real-time function which does not allocate memory
| source | The data to be read |
| blob | Suggested target memory area to write to. In case the type marshaller does not need this, it will return an alternative as a first element in the returned std::pair. |
| size | The size of the memory area pointed by blob |
size Implements RTT::types::TypeMarshaller.
Definition at line 75 of file MQTemplateProtocol.hpp.
| virtual unsigned int RTT::mqueue::MQTemplateProtocol< T >::getSampleSize | ( | base::DataSourceBase::shared_ptr | sample, |
| void * | cookie | ||
| ) | const [inline, virtual] |
Returns the size in bytes of a marshalled data element.
Implements RTT::types::TypeMarshaller.
Definition at line 93 of file MQTemplateProtocol.hpp.
| virtual bool RTT::mqueue::MQTemplateProtocol< T >::updateFromBlob | ( | const void * | blob, |
| int | size, | ||
| base::DataSourceBase::shared_ptr | target, | ||
| void * | cookie | ||
| ) | const [inline, virtual] |
Update target with the contents of blob which is an object of a protocol.
The given data source is guaranteed to be an AssignableDataSource
Implements RTT::types::TypeMarshaller.
Definition at line 82 of file MQTemplateProtocol.hpp.
References RTT::internal::AssignableDataSource< T >::set().
1.7.6.1