rGeddei::RemoteProcessor Class Reference
[rGeddei's core classes.]

AbstractProcessor realisation representing a remote Processor object. More...

#include <remoteprocessor.h>

Inheritance diagram for rGeddei::RemoteProcessor:

Inheritance graph
[legend]
Collaboration diagram for rGeddei::RemoteProcessor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual const bool connect (const uint sourceIndex, const LocalProcessor *sink, const uint sinkIndex, const uint bufferSize=1)
virtual const bool connect (const uint sourceIndex, const RemoteProcessor *sink, const uint sinkIndex, const uint bufferSize=1)
virtual void disconnect (const uint sourceIndex)
virtual void disconnectAll ()
virtual const bool go ()
virtual const QString name () const
virtual void reset ()
virtual void share (const uint sourceIndex)
virtual void split (const uint sourceIndex)
virtual void stop ()
virtual void waitUntilDone ()
virtual const Processor::ErrorType waitUntilGoing (int *errorData=0)
virtual ~RemoteProcessor ()

Protected Member Functions

 RemoteProcessor (RemoteSession &session)

Friends

class AbstractProcessor
class LocalDomProcessor
class LocalProcessor
class RemoteDomProcessor
class RemoteSession

Detailed Description

AbstractProcessor realisation representing a remote Processor object.

Author:
Gav Wood <gav@cs.york.ac.uk>
This class is used when a Geddei Processor object is to be administered through a RemoteSession. It allows the user to remotely and trasnparently create, destroy, start, stop, connect and otherwise control a Geddei Processor object that resides in a different process space, potentially on a different machine.

Typically, it is used very similarly to a Geddei Processor object.


Constructor & Destructor Documentation

rGeddei::RemoteProcessor::RemoteProcessor ( RemoteSession session  )  [protected]

Advanced constructor for RemoteDomProcessor to allow custom object construction.

Parameters:
session The RemoteSession ovedr which to create this Processor object.

rGeddei::RemoteProcessor::~RemoteProcessor (  )  [virtual]

Default destructor.


Member Function Documentation

virtual const bool rGeddei::RemoteProcessor::go (  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to start.

Returns:
true iff the Processor was primed to start OK.
See also:
Geddei::Processor::go()

Implements rGeddei::AbstractProcessor.

virtual const Processor::ErrorType rGeddei::RemoteProcessor::waitUntilGoing ( int *  errorData = 0  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to wait until the start() operation has completed.

Parameters:
errorData Pointer to an integer, which if non-zero will be filled with some data pertaining to the error (if any) that occured in starting the Processor object.
Returns:
A Geddei::Processor::ErrorType value describing the type of error (if any that occured in starting the Processor object.
See also:
Geddei::Processor::waitUntilGoing()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::waitUntilDone (  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to wait until the processor() operation has completed.

See also:
Geddei::Processor::waitUntilDone()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::stop (  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to stop.

See also:
Geddei::Processor::stop()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::reset (  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to reset.

See also:
Geddei::Processor::reset()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::split ( const uint  sourceIndex  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to split the output port sourceIndex.

Parameters:
sourceIndex The output port index to be split.
See also:
Geddei::Processor::split()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::share ( const uint  sourceIndex  )  [inline, virtual]

Sends a message to the Processor object that this represents, telling it to share the output port sourceIndex.

Parameters:
sourceIndex The output port index to be share.
See also:
Geddei::Processor::share()

Implements rGeddei::AbstractProcessor.

const bool rGeddei::RemoteProcessor::connect ( const uint  sourceIndex,
const RemoteProcessor sink,
const uint  sinkIndex,
const uint  bufferSize = 1 
) [virtual]

Attempts to create a connection between the Processor object this represents and another RemoteProcessor object.

The connection will be formed between the output port of index sourceIndex of the Processor object this represents and the input port sinkIndex of the Processor represented by the RemoteProcessor sink.

Parameters:
sourceIndex The index of the output port on this side of the connection.
sink The RemoteProcessor object to whose Processor object we wish to connect.
sinkIndex The index of the input port on the opposite side of the connection.
bufferSize A minimum size of Buffer. Leave this at 1 unless you have a good reason not to.
Returns:
true if the connection succeeded.
See also:
Geddei::Processor::connect()

Implements rGeddei::AbstractProcessor.

const bool rGeddei::RemoteProcessor::connect ( const uint  sourceIndex,
const LocalProcessor sink,
const uint  sinkIndex,
const uint  bufferSize = 1 
) [virtual]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Attempts to create a connection between the Processor object this represents and another LocalProcessor object.

The connection will be formed between the output port of index sourceIndex of the Processor object this represents and the input port sinkIndex of the Processor represented by the LocalProcessor sink.

Parameters:
sourceIndex The index of the output port on this side of the connection.
sink The LocalProcessor object to whose Processor object we wish to connect.
sinkIndex The index of the input port on the opposite side of the connection.
bufferSize A minimum size of Buffer. Leave this at 1 unless you have a good reason not to.
Returns:
true if the connection succeeded.
See also:
Geddei::Processor::connect()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::disconnect ( const uint  sourceIndex  )  [inline, virtual]

Disguard all connections going from a given port (generally only one, unless the port has a split() or share() operation carried out on it).

Parameters:
sourceIndex The output port from whom all connection are to be destroyed.
See also:
Geddei::Processor::disconnect()

Implements rGeddei::AbstractProcessor.

virtual void rGeddei::RemoteProcessor::disconnectAll (  )  [inline, virtual]

Disguard all connections going from this object.

See also:
Geddei::Processor::disconnectAll()

Implements rGeddei::AbstractProcessor.

virtual const QString rGeddei::RemoteProcessor::name (  )  const [inline, virtual]

Retreive the unique identifier of this object.

Returns:
The name of the Processor object this represents, and by extension, this object.
See also:
Geddei::Processor::name()

Implements rGeddei::AbstractProcessor.


The documentation for this class was generated from the following files:
Generated on Thu Jul 13 06:56:52 2006 for Exscalibar by  doxygen 1.4.7