24 #include <co/defines.h>
25 #include <lunchbox/refPtr.h>
26 #include <lunchbox/types.h>
27 #include <pression/types.h>
28 #include <servus/types.h>
36 #define CO_SEPARATOR '#'
38 #define CO_INSTANCE_MAX LB_MAX_UINT32
39 #define CO_INSTANCE_NONE 0xfffffffdu
40 #define CO_INSTANCE_INVALID 0xfffffffeu
41 #define CO_INSTANCE_ALL 0xffffffffu
47 class ConnectionDescription;
48 class ConnectionListener;
60 class ObjectDataICommand;
61 class ObjectDataIStream;
62 class ObjectDataOCommand;
75 using lunchbox::Array;
76 using lunchbox::Strings;
77 using lunchbox::StringsCIter;
78 using lunchbox::a_ssize_t;
79 using lunchbox::f_bool_t;
80 using servus::uint128_t;
97 typedef lunchbox::RefPtr< const ConnectionDescription >
103 typedef std::vector< NodePtr >
Nodes;
146 class MasterCMCommand;
149 typedef lunchbox::RefPtr< Buffer > BufferPtr;
150 typedef lunchbox::RefPtr< const Buffer > ConstBufferPtr;
152 typedef std::vector< ObjectVersion > ObjectVersions;
153 typedef ObjectVersions::const_iterator ObjectVersionsCIter;
154 typedef std::deque< ObjectDataIStream* > ObjectDataIStreamDeque;
155 typedef std::vector< ObjectDataIStream* > ObjectDataIStreams;
std::vector< ConnectionPtr > Connections
A vector of ConnectionPtr's.
lunchbox::RefPtr< ConnectionDescription > ConnectionDescriptionPtr
A reference pointer for ConnectionDescription pointers.
Nodes::const_iterator NodesCIter
A const iterator for a vector of nodes.
uint128_t NodeID
A unique identifier for nodes.
ICommands::const_iterator ICommandsCIter
A const iterator for a vector of input commands.
std::vector< ICommand > ICommands
A vector of input commands.
lunchbox::RefPtr< LocalNode > LocalNodePtr
A reference pointer for LocalNode pointers.
A helper struct bundling an object identifier and version.
ICommands::iterator ICommandsIter
A iterator for a vector of input commands.
std::vector< Barrier * > Barriers
A vector of barriers.
std::vector< ConnectionListener * > ConnectionListeners
A vector of ConnectionListener.
Objects::iterator ObjectsIter
A iterator for a vector of objects.
lunchbox::RefPtr< Node > NodePtr
A reference pointer for Node pointers.
lunchbox::RefPtr< const LocalNode > ConstLocalNodePtr
A reference pointer for const LocalNode pointers.
A worker thread processing items out of a CommandQueue.
Object-oriented network library.
lunchbox::RefPtr< const Node > ConstNodePtr
A reference pointer for const Node pointers.
ConnectionDescriptions::iterator ConnectionDescriptionsIter
An iterator for a vector of ConnectionDescriptionPtr's.
std::vector< Object * > Objects
A vector of objects.
std::vector< NodeID > NodeIDs
A vector of NodeID's.
Objects::const_iterator ObjectsCIter
A const iterator for a vector of objects.
std::vector< ConnectionDescriptionPtr > ConnectionDescriptions
A vector of ConnectionDescriptionPtr's.
Connections::iterator ConnectionsIter
An iterator for a vector of ConnectionPtr's.
Barriers::iterator BarriersIter
Barriers iterator.
Nodes::iterator NodesIter
An iterator for a vector of nodes.
std::vector< NodePtr > Nodes
A vector of NodePtr's.
ConnectionDescriptions::const_iterator ConnectionDescriptionsCIter
A const iterator for a vector of ConnectionDescriptionPtr's.
Barriers::const_iterator BarriersCIter
Barriers const iterator.
Connections::const_iterator ConnectionsCIter
A const iterator for a vector of ConnectionPtr's.
lunchbox::RefPtr< const ConnectionDescription > ConstConnectionDescriptionPtr
A reference pointer for const ConnectionDescription pointers.
lunchbox::RefPtr< Connection > ConnectionPtr
A reference pointer for Connection pointers.
A listener interface to buffer state changes.