Collage
1.7.0
High-performance C++ library for developing object-oriented distributed applications.
|
A class managing received commands. More...
#include <iCommand.h>
Public Member Functions | |
CO_API | ICommand (LocalNodePtr local, NodePtr remote, ConstBufferPtr buffer) |
CO_API | ICommand (const ICommand &rhs) |
CO_API ICommand & | operator= (const ICommand &rhs) |
CO_API void | clear () |
Data Access | |
CO_API uint32_t | getType () const |
CO_API uint32_t | getCommand () const |
CO_API uint64_t | getSize () const |
template<typename T > | |
T | get () |
NodePtr | getNode () const |
CO_API NodePtr | getRemoteNode () const override |
CO_API LocalNodePtr | getLocalNode () const override |
CO_API bool | isValid () const |
CO_API ConstBufferPtr | getBuffer () const |
CO_API void | setType (const CommandType type) |
CO_API void | setCommand (const uint32_t cmd) |
void | setDispatchFunction (const Dispatcher::Func &func) |
CO_API bool | operator() () |
Public Member Functions inherited from co::DataIStream | |
template<typename T > | |
T | read () |
template<class T > | |
DataIStream & | operator>> (T &value) |
Read a plain data item. More... | |
template<class T > | |
DataIStream & | operator>> (Array< T > array) |
Read a C array. More... | |
template<class T > | |
DataIStream & | operator>> (lunchbox::RefPtr< T > &) |
Read a lunchbox::RefPtr. More... | |
template<class T > | |
DataIStream & | operator>> (lunchbox::Buffer< T > &) |
Read a lunchbox::Buffer. More... | |
template<class T > | |
DataIStream & | operator>> (std::vector< T > &) |
Read a std::vector of serializable items. More... | |
template<class K , class V > | |
DataIStream & | operator>> (std::map< K, V > &) |
Read a std::map of serializable items. More... | |
template<class T > | |
DataIStream & | operator>> (std::set< T > &) |
Read a std::set of serializable items. More... | |
template<class K , class V > | |
DataIStream & | operator>> (std::unordered_map< K, V > &) |
Read an unordered_map of serializable items. More... | |
template<class T > | |
DataIStream & | operator>> (std::unordered_set< T > &) |
Read an unordered_set of serializable items. More... | |
template<typename O , typename C > | |
void | deserializeChildren (O *object, const std::vector< C * > &old, std::vector< C * > &result) |
CO_API const void * | getRemainingBuffer (const uint64_t size) |
CO_API uint64_t | getRemainingBufferSize () |
bool | wasUsed () const |
bool | hasData () |
virtual void | reset () |
template<> | |
DataIStream & | operator>> (std::string &str) |
Read a std::string. More... | |
template<> | |
DataIStream & | operator>> (Object *&object) |
Deserialize an object (id+version). More... | |
template<> | |
DataIStream & | operator>> (std::vector< uint8_t > &value) |
Optimized specialization to read a std::vector of uint8_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< uint16_t > &value) |
Optimized specialization to read a std::vector of uint16_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< int16_t > &value) |
Optimized specialization to read a std::vector of int16_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< uint32_t > &value) |
Optimized specialization to read a std::vector of uint32_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< int32_t > &value) |
Optimized specialization to read a std::vector of int32_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< uint64_t > &value) |
Optimized specialization to read a std::vector of uint64_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< int64_t > &value) |
Optimized specialization to read a std::vector of int64_t. More... | |
template<> | |
DataIStream & | operator>> (std::vector< float > &value) |
Optimized specialization to read a std::vector of float. More... | |
template<> | |
DataIStream & | operator>> (std::vector< double > &value) |
Optimized specialization to read a std::vector of double. More... | |
template<> | |
DataIStream & | operator>> (std::vector< ObjectVersion > &value) |
Optimized specialization to read a std::vector of ObjectVersion. More... | |
Friends | |
CO_API std::ostream & | operator<< (std::ostream &, const ICommand &) |
Additional Inherited Members | |
Protected Member Functions inherited from co::DataIStream | |
CO_API | DataIStream () |
virtual CO_API | ~DataIStream () |
A class managing received commands.
This class is used by the LocalNode to pass received buffers to the Dispatcher and ultimately command handler functions. It is not intended to be instantiated by applications. The derivates of this ICommand have to be instaniated by the application if the command type requires it. The data retrieval is possible with the provided DataIStream methods or with the templated get() function.
Definition at line 45 of file iCommand.h.
|
inline |
Definition at line 72 of file iCommand.h.
CO_API uint32_t co::ICommand::getCommand | ( | ) | const |
|
overridevirtual |
|
inline |
Definition at line 78 of file iCommand.h.
|
overridevirtual |
CO_API uint64_t co::ICommand::getSize | ( | ) | const |
CO_API uint32_t co::ICommand::getType | ( | ) | const |
CO_API bool co::ICommand::isValid | ( | ) | const |