3rd Eye Scene C#
3rd Eye Scene C# documentation
Tes::Main::DataThread Class Reference

Base class for thread objects used as message sources. More...

List of all members.

Public Member Functions

abstract bool Start ()
 Start the thread.
abstract bool Join ()
 Join the thread, exiting the thread loop.
abstract void Quit ()
 Request the thread look stop looping.
delegate string RoutingIDNameDelegate (ushort routingID)
 Delegate used to convert a routing ID to a meaninful string.
string LookupRoutingIDName (ushort routingID)
 A utility function for invoking RoutingIDName when non null.

Public Attributes

RoutingIDNameDelegate RoutingIDName
 When not null, used to convert a routing ID to a meaningful name for logging.

Protected Member Functions

PacketBuffer BuildResetPacket (uint forFrameNumber=0)
 Create a reset packet.

Properties

abstract Queue< PacketBufferPacketQueue [get]
 Access the thread safe pending packet queue.
abstract uint CurrentFrame [get, set]
 Request or set the current frame number.
abstract uint TotalFrames [get, set]
 Request the total number of frames.
abstract uint TargetFrame [get, set]
 Frame value to play up to and stop.
abstract bool IsLiveStream [get]
 Is this a live stream (true) or recorded (false)
abstract bool Started [get]
 Has the thread been started?
abstract bool Paused [get, set]
 Get/set the pause state of the thread (not for live threads).
abstract bool CatchingUp [get]
 Is the thread currently catchup up to the desired frame?

Detailed Description

Base class for thread objects used as message sources.

A data thread is responsible for reading incoming data, generally over a network connection or from file, and pushing data packets into the PacketQueue. The owner of the DataThread pops the packet queue and processes the results.

The owner can request the DataThread to perform particular operations such as:

These operations are not supported on live threads and will be ignored if IsLiveStream is true.

For recorded streams, it is up to the DataThread implementation to maintain the correct packet timing.


Member Function Documentation

PacketBuffer Tes::Main::DataThread::BuildResetPacket ( uint  forFrameNumber = 0) [inline, protected]

Create a reset packet.

Parameters:
forFrameNumberUsed to set Value32 in the ControlMessage.

This identifies the frame we are resetting to.

abstract bool Tes::Main::DataThread::Join ( ) [pure virtual]

Join the thread, exiting the thread loop.

Returns:
True on success.
string Tes::Main::DataThread::LookupRoutingIDName ( ushort  routingID) [inline]

A utility function for invoking RoutingIDName when non null.

Parameters:
routingIDRouting ID to lookup.
Returns:
The name associated with routingID or empty when routingID as a string.
delegate string Tes::Main::DataThread::RoutingIDNameDelegate ( ushort  routingID)

Delegate used to convert a routing ID to a meaninful string.

Used in logging

abstract bool Tes::Main::DataThread::Start ( ) [pure virtual]

Start the thread.

Returns:
True on success.

Property Documentation

abstract bool Tes::Main::DataThread::CatchingUp [get]

Is the thread currently catchup up to the desired frame?

This is principally for playback threads when attempting to process data for large frame deltas such as when scrubbing.

abstract bool Tes::Main::DataThread::IsLiveStream [get]

Is this a live stream (true) or recorded (false)

abstract bool Tes::Main::DataThread::Started [get]

Has the thread been started?

abstract uint Tes::Main::DataThread::TargetFrame [get, set]

Frame value to play up to and stop.

Not for live streams.

abstract uint Tes::Main::DataThread::TotalFrames [get, set]

Request the total number of frames.

Will change for live streams.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Enumerations Properties Events