eq::server::Pipe Class Reference

The pipe. More...

#include <pipe.h>

Inheritance diagram for eq::server::Pipe:
Inheritance graph
[legend]
Collaboration diagram for eq::server::Pipe:
Collaboration graph
[legend]

List of all members.

Public Types

enum  State {
  STATE_STOPPED = 0, STATE_INITIALIZING, STATE_INIT_SUCCESS, STATE_INIT_FAILED,
  STATE_RUNNING, STATE_EXITING, STATE_EXIT_SUCCESS, STATE_EXIT_FAILED
}

Public Member Functions

 Pipe ()
 Constructs a new Pipe.
 Pipe (const Pipe &from, Node *node)
 Constructs a new deep copy of a pipe.
ServergetServer ()
const ServergetServer () const
NodegetNode ()
const NodegetNode () const
ConfiggetConfig ()
const ConfiggetConfig () const
net::CommandQueuegetServerThreadQueue ()
net::CommandQueuegetCommandThreadQueue ()
PipePath getPath () const
ChannelgetChannel (const ChannelPath &path)
State getState () const
void addWindow (Window *window)
 Adds a new window to this config.
bool removeWindow (Window *window)
 Removes a window from this config.
const WindowVector & getWindows () const
VisitorResult accept (PipeVisitor &visitor)
 Traverse this pipe and all children using a pipe visitor.
VisitorResult accept (PipeVisitor &visitor) const
void activate ()
 Increase pipe activition count.
void deactivate ()
 Decrease pipe activition count.
bool isActive () const
void addTasks (const uint32_t tasks)
 Add additional tasks this pipe, and all its parents, might potentially execute.
void setName (const std::string &name)
const std::string & getName () const
void send (net::ObjectPacket &packet)
Data Access



void setPort (const uint32_t port)
uint32_t getPort () const
void setDevice (const uint32_t device)
uint32_t getDevice () const
void setPixelViewport (const eq::PixelViewport &pvp)
 Set (force) the pixel viewport.
const eq::PixelViewportgetPixelViewport () const
void setLastDrawWindow (const Window *window)
 The last drawing compound for this entity.
const WindowgetLastDrawWindow () const
Operations



void updateRunning (const uint32_t initID, const uint32_t frameNumber)
 Update (init and exit) this pipe and its children as needed.
bool syncRunning ()
 Finalize the last updateRunning changes.
void update (const uint32_t frameID, const uint32_t frameNumber)
 Trigger the rendering of a new frame.
Error information.



const std::string & getErrorMessage () const

Protected Member Functions

virtual void attachToSession (const uint32_t id, const uint32_t instanceID, net::Session *session)

Protected Attributes

base::RequestHandler _requestHandler
 Registers request packets waiting for a return value.

Friends

class Node

Attributes



enum  IAttribute { IATTR_HINT_THREAD, IATTR_FILL1, IATTR_FILL2, IATTR_ALL }
void setIAttribute (const IAttribute attr, const int32_t value)
int32_t getIAttribute (const IAttribute attr) const
bool isThreaded () const
static const std::string & getIAttributeString (const IAttribute attr)

Detailed Description

The pipe.

Definition at line 43 of file server/pipe.h.


Member Function Documentation

PipePath eq::server::Pipe::getPath (  )  const
Returns:
the index path to this pipe.

Definition at line 184 of file server/pipe.cpp.

References eq::server::Node::getPath(), and eq::server::Node::getPipes().

Referenced by eq::server::Window::getPath().

Here is the call graph for this function:

Here is the caller graph for this function:

State eq::server::Pipe::getState (  )  const [inline]
Returns:
the state of this pipe.

Definition at line 86 of file server/pipe.h.

References eq::base::Monitor< T >::get().

Here is the call graph for this function:

void eq::server::Pipe::addWindow ( Window window  ) 

Adds a new window to this config.

Parameters:
window the window.

Definition at line 127 of file server/pipe.cpp.

References eq::server::Window::getChannels(), and eq::server::Window::notifyViewportChanged().

Referenced by eq::server::Window::Window().

Here is the call graph for this function:

Here is the caller graph for this function:

bool eq::server::Pipe::removeWindow ( Window window  ) 

Removes a window from this config.

Parameters:
window the window
Returns:
true if the window was removed, false otherwise.

Definition at line 136 of file server/pipe.cpp.

References eq::server::Window::getChannels().

Here is the call graph for this function:

const WindowVector& eq::server::Pipe::getWindows (  )  const [inline]
Returns:
the vector of windows.

Definition at line 105 of file server/pipe.h.

Referenced by eq::server::Node::addPipe(), eq::server::Window::getPath(), eq::server::Window::joinSwapBarrier(), Pipe(), and eq::server::Node::removePipe().

Here is the caller graph for this function:

VisitorResult eq::server::Pipe::accept ( PipeVisitor visitor  ) 

Traverse this pipe and all children using a pipe visitor.

Parameters:
visitor the visitor.
Returns:
the result of the visitor traversal.

Definition at line 252 of file server/pipe.cpp.

void eq::server::Pipe::activate (  ) 

Increase pipe activition count.

Definition at line 262 of file server/pipe.cpp.

References eq::server::Node::activate(), and EQLOG.

Referenced by eq::server::Window::activate().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::server::Pipe::deactivate (  ) 

Decrease pipe activition count.

Definition at line 273 of file server/pipe.cpp.

References eq::server::Node::deactivate(), and EQLOG.

Referenced by eq::server::Window::deactivate().

Here is the call graph for this function:

Here is the caller graph for this function:

bool eq::server::Pipe::isActive (  )  const [inline]
Returns:
if this pipe is actively used for rendering.

Definition at line 123 of file server/pipe.h.

Referenced by syncRunning(), eq::server::Node::update(), and updateRunning().

Here is the caller graph for this function:

void eq::server::Pipe::setPixelViewport ( const eq::PixelViewport pvp  ) 

Set (force) the pixel viewport.

If the pixel viewport is invalid, it is determined automatically during initialisation of the pipe. If it is valid, it force this pipe to assume the given size and position.

Parameters:
pvp the pixel viewport.

Definition at line 493 of file server/pipe.cpp.

References EQINFO, and eq::PixelViewport::hasArea().

Here is the call graph for this function:

const eq::PixelViewport& eq::server::Pipe::getPixelViewport (  )  const [inline]
Returns:
the pixel viewport.

Definition at line 155 of file server/pipe.h.

Referenced by eq::server::Window::notifyViewportChanged().

Here is the caller graph for this function:

void eq::server::Pipe::setLastDrawWindow ( const Window window  )  [inline]

The last drawing compound for this entity.

For internal use only.

Definition at line 158 of file server/pipe.h.

Referenced by eq::server::ConfigUpdateDataVisitor::visitPost().

Here is the caller graph for this function:

void eq::server::Pipe::updateRunning ( const uint32_t  initID,
const uint32_t  frameNumber 
)

Update (init and exit) this pipe and its children as needed.

Definition at line 314 of file server/pipe.cpp.

References isActive().

Here is the call graph for this function:

bool eq::server::Pipe::syncRunning (  ) 

Finalize the last updateRunning changes.

Definition at line 335 of file server/pipe.cpp.

References eq::server::Window::getErrorMessage(), isActive(), and eq::server::Window::syncRunning().

Referenced by eq::server::Node::syncRunning().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::server::Pipe::update ( const uint32_t  frameID,
const uint32_t  frameNumber 
)

Trigger the rendering of a new frame.

Parameters:
frameID a per-frame identifier passed to all rendering methods.
frameNumber the number of the frame.

Definition at line 450 of file server/pipe.cpp.

References EQLOG, eq::server::Window::isActive(), eq::LOG_TASKS, eq::server::Window::updateDraw(), and eq::server::Window::updatePost().

Referenced by eq::server::Node::update().

Here is the call graph for this function:

Here is the caller graph for this function:

const std::string& eq::server::Pipe::getErrorMessage (  )  const [inline]
Returns:
the error message from the last operation.

Definition at line 210 of file server/pipe.h.

Referenced by eq::server::Node::syncRunning().

Here is the caller graph for this function:

void eq::server::Pipe::attachToSession ( const uint32_t  id,
const uint32_t  instanceID,
net::Session session 
) [protected, virtual]
See also:
net::Object::attachToSession.

Reimplemented from eq::net::Object.

Definition at line 114 of file server/pipe.cpp.

References eq::net::Dispatcher::registerCommand().

Here is the call graph for this function:


Member Data Documentation

Registers request packets waiting for a return value.

Definition at line 219 of file server/pipe.h.


The documentation for this class was generated from the following files:
Generated on Sat Feb 6 13:14:27 2010 for Equalizer 0.9.1 by  doxygen 1.6.1