Equalizer  2.0.0
Parallel Rendering Framework
eq::fabric::Node< C, N, P, V > Class Template Reference

Base data transport class for nodes. More...

#include <node.h>

+ Inheritance diagram for eq::fabric::Node< C, N, P, V >:
+ Collaboration diagram for eq::fabric::Node< C, N, P, V >:

Public Types

typedef std::vector< P * > Pipes
 A vector of pointers to pipes. More...
 
- Public Types inherited from eq::fabric::Object
enum  DirtyBits {
  DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 2, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 3,
  DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 4, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA
}
 The changed parts of the object since the last pack(). More...
 

Public Member Functions

Data Access
C * getConfig ()
 
const C * getConfig () const
 
const PipesgetPipes () const
 
bool isApplicationNode () const
 
EQFABRIC_INL void setApplicationNode (const bool isAppNode)
 
EQFABRIC_INL NodePath getPath () const
 
P * findPipe (const uint128_t &id)
 
EQFABRIC_INL VisitorResult accept (V &visitor)
 Perform a depth-first traversal of this node. More...
 
EQFABRIC_INL VisitorResult accept (V &visitor) const
 Const-version of accept(). More...
 
virtual EQFABRIC_INL void backup ()
 
virtual EQFABRIC_INL void restore ()
 
void create (P **pipe)
 
void release (P *pipe)
 
virtual void output (std::ostream &) const
 
virtual EQFABRIC_INL uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
- Public Member Functions inherited from eq::fabric::Object
EQFABRIC_API bool isDirty () const override
 
EQFABRIC_API uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT) override
 
virtual EQFABRIC_API void setName (const std::string &name)
 Set the name of the object. More...
 
EQFABRIC_API const std::string & getName () const
 
EQFABRIC_API void setUserData (co::Object *userData)
 Set user-specific data. More...
 
EQFABRIC_API co::Object * getUserData ()
 
EQFABRIC_API const co::Object * getUserData () const
 
EQFABRIC_API uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
EQFABRIC_API uint32_t getSerial () const
 

Protected Types

enum  DirtyBits { DIRTY_ATTRIBUTES = Object::DIRTY_CUSTOM << 0, DIRTY_PIPES = Object::DIRTY_CUSTOM << 1, DIRTY_MEMBER = Object::DIRTY_CUSTOM << 2, DIRTY_NODE_BITS }
 

Protected Member Functions

 Node (C *parent)
 
virtual EQFABRIC_INL void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void notifyDetach ()
 
virtual EQFABRIC_INL void setDirty (const uint64_t bits)
 
virtual ChangeType getChangeType () const
 
virtual uint64_t getRedistributableBits () const
 
- Protected Member Functions inherited from eq::fabric::Object
EQFABRIC_API Object ()
 Construct a new Object. More...
 
EQFABRIC_API Object (const Object &)
 Construct an unmapped, unregistered copy of an object. More...
 
virtual EQFABRIC_API ~Object ()
 Destruct the object. More...
 
EQFABRIC_API Objectoperator= (const Object &from)
 NOP assignment operator. More...
 
virtual bool hasMasterUserData ()
 
virtual uint32_t getUserDataLatency () const
 
EQFABRIC_API void setTasks (const uint32_t tasks)
 
EQFABRIC_API void notifyDetach () override
 
EQFABRIC_API void serialize (co::DataOStream &os, const uint64_t dirtyBits) override
 
EQFABRIC_API void deserialize (co::DataIStream &is, const uint64_t dirtyBits) override
 
EQFABRIC_API void postRemove (Object *child)
 
virtual void removeChild (const uint128_t &)
 
template<class C , class S >
void commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChild (C *child, const uint32_t incarnation)
 
template<class C , class S >
void commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, const uint32_t incarnation)
 
template<class C >
void syncChildren (const std::vector< C * > &children)
 
template<class P , class C >
void releaseChildren (const std::vector< C * > &children)
 
EQFABRIC_API bool _cmdSync (co::ICommand &command)
 
EQFABRIC_API void updateEvent (Event &event, int64_t time)
 

Friends

template<class , class , class , class >
class Pipe
 

Attributes

enum  IAttribute {
  IATTR_THREAD_MODEL, IATTR_LAUNCH_TIMEOUT, IATTR_HINT_AFFINITY, IATTR_LAST,
  IATTR_ALL = IATTR_LAST + 5
}
 Integer attributes. More...
 
EQFABRIC_INL void setIAttribute (const IAttribute attr, const int32_t value)
 
EQFABRIC_INL int32_t getIAttribute (const IAttribute attr) const
 
static const std::string & getIAttributeString (const IAttribute attr)
 

Detailed Description

template<class C, class N, class P, class V>
class eq::fabric::Node< C, N, P, V >

Base data transport class for nodes.

See also
eq::Node

Definition at line 31 of file fabric/node.h.

Member Typedef Documentation

template<class C, class N, class P, class V>
typedef std::vector< P* > eq::fabric::Node< C, N, P, V >::Pipes

A vector of pointers to pipes.

Version
1.0

Definition at line 35 of file fabric/node.h.

Member Enumeration Documentation

template<class C, class N, class P, class V>
enum eq::fabric::Node::IAttribute

Integer attributes.

Enumerator
IATTR_THREAD_MODEL 

Threading model

IATTR_LAUNCH_TIMEOUT 

Timeout when auto-launching the node.

Definition at line 79 of file fabric/node.h.

Member Function Documentation

template<class C, class N, class P, class V>
EQFABRIC_INL VisitorResult eq::fabric::Node< C, N, P, V >::accept ( V &  visitor)

Perform a depth-first traversal of this node.

Parameters
visitorthe visitor.
Returns
the result of the visitor traversal.
Version
1.0

Referenced by eq::fabric::Node< Config, Node, Pipe, NodeVisitor >::getPipes().

+ Here is the caller graph for this function:

template<class C, class N, class P, class V>
EQFABRIC_INL VisitorResult eq::fabric::Node< C, N, P, V >::accept ( V &  visitor) const

Const-version of accept().

Version
1.0
template<class C, class N, class P, class V>
C* eq::fabric::Node< C, N, P, V >::getConfig ( )
inline
Returns
the config of this node.
Version
1.0

Definition at line 40 of file fabric/node.h.

template<class C, class N, class P, class V>
const C* eq::fabric::Node< C, N, P, V >::getConfig ( ) const
inline
Returns
the config of this node.
Version
1.0

Definition at line 43 of file fabric/node.h.

template<class C, class N, class P, class V>
EQFABRIC_INL int32_t eq::fabric::Node< C, N, P, V >::getIAttribute ( const IAttribute  attr) const
Returns
the value of a node integer attribute.
Version
1.0
template<class C, class N, class P, class V>
const Pipes& eq::fabric::Node< C, N, P, V >::getPipes ( ) const
inline
Returns
the vector of child pipes.
Version
1.0

Definition at line 46 of file fabric/node.h.

template<class C, class N, class P, class V>
virtual EQFABRIC_INL void eq::fabric::Node< C, N, P, V >::setDirty ( const uint64_t  bits)
protectedvirtual
See also
Serializable::setDirty()

Reimplemented in eq::Node.


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