Collage  1.3.0
High-performance C++ library for developing object-oriented distributed applications.
co::ObjectOCommand Class Reference

A class for sending commands and data to local & external objects. More...

#include <objectOCommand.h>

+ Inheritance diagram for co::ObjectOCommand:
+ Collaboration diagram for co::ObjectOCommand:

Public Member Functions

CO_API ObjectOCommand (const Connections &receivers, const uint32_t cmd, const uint32_t type, const uint128_t &id, const uint32_t instanceID)
 
CO_API ObjectOCommand (Dispatcher *const dispatcher, LocalNodePtr localNode, const uint32_t cmd, const uint32_t type, const uint128_t &id, const uint32_t instanceID)
 
CO_API ObjectOCommand (const ObjectOCommand &rhs)
 
virtual CO_API ~ObjectOCommand ()
 Send or dispatch this command during destruction. More...
 
- Public Member Functions inherited from co::OCommand
CO_API OCommand (const Connections &receivers, const uint32_t cmd, const uint32_t type=COMMANDTYPE_NODE)
 
CO_API OCommand (Dispatcher *const dispatcher, LocalNodePtr localNode, const uint32_t cmd, const uint32_t type=COMMANDTYPE_NODE)
 
CO_API OCommand (const OCommand &rhs)
 
virtual CO_API ~OCommand ()
 Send or dispatch this command during destruction. More...
 
CO_API void sendHeader (const uint64_t additionalSize)
 
- Public Member Functions inherited from co::DataOStream
CO_API void disable ()
 
void enableSave ()
 
void disableSave ()
 
CO_API bool hasSentData () const
 
CO_API const ConnectionsgetConnections () const
 
DataOStreamstreamDataHeader (DataOStream &os)
 
void sendBody (ConnectionPtr connection, const void *data, const uint64_t dataSize)
 
uint64_t getCompressedDataSize () const
 
template<class T >
DataOStreamoperator<< (const T &value)
 Write a plain data item by copying it to the stream. More...
 
template<class T >
DataOStreamoperator<< (const Array< T > array)
 Write a C array. More...
 
template<class T >
DataOStreamoperator<< (const lunchbox::RefPtr< T > &ptr)
 Write a lunchbox::RefPtr. More...
 
template<class T >
DataOStreamoperator<< (const lunchbox::Buffer< T > &buffer)
 Write a lunchbox::Buffer. More...
 
template<class T >
DataOStreamoperator<< (const lunchbox::Request< T > &request)
 Transmit a request identifier. More...
 
template<class T >
DataOStreamoperator<< (const std::vector< T > &value)
 Write a std::vector of serializable items. More...
 
template<class K , class V >
DataOStreamoperator<< (const std::map< K, V > &value)
 Write a std::map of serializable items. More...
 
template<class T >
DataOStreamoperator<< (const std::set< T > &value)
 Write a std::set of serializable items. More...
 
template<class K , class V >
DataOStreamoperator<< (const stde::hash_map< K, V > &value)
 Write a stde::hash_map of serializable items. More...
 
template<class T >
DataOStreamoperator<< (const stde::hash_set< T > &value)
 Write a stde::hash_set of serializable items. More...
 
template<typename C >
void serializeChildren (const std::vector< C * > &children)
 
template<>
DataOStreamoperator<< (const std::string &str)
 Write a std::string. More...
 
template<>
DataOStreamoperator<< (const Object *const &object)
 Write an object identifier and version. More...
 
template<>
DataOStreamoperator<< (const std::vector< uint8_t > &value)
 Optimized specialization to write a std::vector of uint8_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< uint16_t > &value)
 Optimized specialization to write a std::vector of uint16_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< int16_t > &value)
 Optimized specialization to write a std::vector of int16_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< uint32_t > &value)
 Optimized specialization to write a std::vector of uint32_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< int32_t > &value)
 Optimized specialization to write a std::vector of int32_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< uint64_t > &value)
 Optimized specialization to write a std::vector of uint64_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< int64_t > &value)
 Optimized specialization to write a std::vector of int64_t. More...
 
template<>
DataOStreamoperator<< (const std::vector< float > &value)
 Optimized specialization to write a std::vector of float. More...
 
template<>
DataOStreamoperator<< (const std::vector< double > &value)
 Optimized specialization to write a std::vector of double. More...
 
template<>
DataOStreamoperator<< (const std::vector< ObjectVersion > &value)
 Optimized specialization to write a std::vector of ObjectVersion. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from co::OCommand
static CO_API size_t getSize ()
 
- Protected Member Functions inherited from co::OCommand
CO_API void sendData (const void *buffer, const uint64_t size, const bool last) override
 
- Protected Member Functions inherited from co::DataOStream
 DataOStream (DataOStream &rhs)
 
CO_API lunchbox::Bufferb & getBuffer ()
 
void _initCompressor (const uint32_t compressor)
 
CO_API void _enable ()
 
void flush (const bool last)
 
void _setupConnections (const Nodes &receivers)
 
void _setupConnections (const Connections &connections)
 
void _setupConnection (NodePtr node, const bool useMulticast)
 
CO_API void _setupConnection (ConnectionPtr connection)
 
void _resend ()
 
void _clearConnections ()
 
virtual CO_API void reset ()
 

Detailed Description

A class for sending commands and data to local & external objects.

See also
co::OCommand

Definition at line 35 of file objectOCommand.h.

Constructor & Destructor Documentation

virtual CO_API co::ObjectOCommand::~ObjectOCommand ( )
virtual

Send or dispatch this command during destruction.

Version
1.0

The documentation for this class was generated from the following file: