Collage  1.2.1
High-performance C++ library for developing object-oriented distributed applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
co::CustomOCommand Class Reference

A class for sending custom commands and data to nodes. More...

#include <customOCommand.h>

+ Inheritance diagram for co::CustomOCommand:
+ Collaboration diagram for co::CustomOCommand:

Public Member Functions

CO_API CustomOCommand (const Connections &receivers, const uint128_t &commandID)
 
CO_API CustomOCommand (LocalNodePtr localNode, const uint128_t &commandID)
 
CO_API CustomOCommand (const CustomOCommand &rhs)
 
virtual CO_API ~CustomOCommand ()
 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 custom commands and data to nodes.

See Also
Node::send()

Definition at line 33 of file customOCommand.h.

Constructor & Destructor Documentation

virtual CO_API co::CustomOCommand::~CustomOCommand ( )
virtual

Send or dispatch this command during destruction.


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