24 #include <eq/visitorResult.h> 25 #include <eq/fabric/node.h> 26 #include <eq/fabric/eventType.h> 32 namespace detail {
class Node; }
56 EQ_API
virtual ~Node();
64 EQ_API co::CommandQueue* getMainThreadQueue();
65 EQ_API co::CommandQueue* getCommandThreadQueue();
66 co::CommandQueue* getTransmitterQueue();
69 uint32_t getCurrentFrame()
const;
78 co::Barrier* getBarrier(
const co::ObjectVersion& barrier );
87 FrameDataPtr getFrameData(
const co::ObjectVersion& frameDataVersion );
93 EQ_API
void waitInitialized()
const;
99 EQ_API
bool isRunning()
const;
105 EQ_API
bool isStopped()
const;
117 EQ_API
void waitFrameStarted(
const uint32_t frameNumber )
const;
120 uint32_t getFinishedFrame()
const;
128 EQ_API EventOCommand sendError(
const uint32_t error );
140 EQ_API
virtual bool processEvent( EventType type, AxisEvent& event );
141 EQ_API
virtual bool processEvent( EventType type, ButtonEvent& event );
142 EQ_API
virtual bool processEvent( Statistic& event );
145 EQ_API
void setDirty(
const uint64_t bits )
override;
148 EQ_API
void dirtyClientExit();
153 void attach(
const uint128_t&
id,
const uint32_t instanceID )
override;
163 EQ_API
void startFrame(
const uint32_t frameNumber );
171 EQ_API
void releaseFrame(
const uint32_t frameNumber );
179 EQ_API
void releaseFrameLocal(
const uint32_t frameNumber );
196 EQ_API
virtual bool configInit(
const uint128_t& initID );
199 EQ_API
virtual bool configExit();
214 EQ_API
virtual void frameStart(
const uint128_t& frameID,
215 const uint32_t frameNumber );
229 EQ_API
virtual void frameFinish(
const uint128_t& frameID,
230 const uint32_t frameNumber );
244 EQ_API
virtual void frameDrawFinish(
const uint128_t& frameID,
245 const uint32_t frameNumber );
262 EQ_API
virtual void frameTasksFinish(
const uint128_t& frameID,
263 const uint32_t frameNumber );
267 detail::Node*
const _impl;
271 void _finishFrame(
const uint32_t frameNumber )
const;
272 void _frameFinish(
const uint128_t& frameID,
273 const uint32_t frameNumber );
275 void _flushObjects();
278 bool _cmdCreatePipe( co::ICommand& command );
279 bool _cmdDestroyPipe( co::ICommand& command );
280 bool _cmdConfigInit( co::ICommand& command );
281 bool _cmdConfigExit( co::ICommand& command );
282 bool _cmdFrameStart( co::ICommand& command );
283 bool _cmdFrameFinish( co::ICommand& command );
284 bool _cmdFrameDrawFinish( co::ICommand& command );
285 bool _cmdFrameTasksFinish( co::ICommand& command );
286 bool _cmdFrameDataTransmit( co::ICommand& command );
287 bool _cmdFrameDataReady( co::ICommand& command );
288 bool _cmdSetAffinity( co::ICommand& command );
290 LB_TS_VAR( _nodeThread );
A configuration is a visualization session driven by an application.
A Node represents a single computer in the cluster.
lunchbox::RefPtr< Server > ServerPtr
A reference-counted pointer to an eq::Server.
Base data transport class for nodes.
lunchbox::RefPtr< Client > ClientPtr
A reference-counted pointer to an eq::Client.
The Equalizer client library.
lunchbox::RefPtr< FrameData > FrameDataPtr
A reference-counted pointer to an eq::FrameData.