Ogg::Transport Class Reference
[Transport InterfaceDerivable and Nonderivable Classes]

Transport interface. More...

#include <Transport.H>

List of all members.

Public Member Functions

void * impl ()
 Transport (bool encapsulating)
 An argument of false means decapsulating.
long serialNo (long)
 Get the next unclaimed serial no.
Logicallogical (long serialNo)
 Returns the Logical with serialNo.
void loop ()
 Encapsulation/decapsulation loop in Transport thread.
void terminate ()
 Called by thread other than Transport or in call backs.
virtual void sendCallback (Page &)
 Send call back.
virtual size_t recvCallback (Page &)
 Receive call back.
virtual bool laterThan (const Page &p1, const Page &p2)
 Transport page ordering function.

Static Public Member Functions

static void operator delete (void *)
 Disallows deletion. Throws NoDeletion exception.

Static Public Attributes

static const unsigned char CurrentVersion = 0x00

Protected Member Functions

 Transport (int dummy)
 Despite appearance, derived classes should NOT call this.

Classes

class  NoDeletion
 Exception thrown by Transport::operator delete. More...
class  PrematureEndOfOggStream


Detailed Description

Transport interface.

Derive from this class and override Transport::sendCallback and Transport::recvCallback to provide the actual transport logic.


Constructor & Destructor Documentation

Ogg::Transport::Transport ( int  dummy  )  [inline, protected]

Despite appearance, derived classes should NOT call this.

Ogg::Transport::Transport ( bool  encapsulating  ) 

An argument of false means decapsulating.


Member Function Documentation

static void Ogg::Transport::operator delete ( void *   )  [static]

Disallows deletion. Throws NoDeletion exception.

void* Ogg::Transport::impl (  )  [inline]

long Ogg::Transport::serialNo ( long   ) 

Get the next unclaimed serial no.

For encapsulation, returns a valid unused serial number greater or equal to its argument. For decapsulation, returns the serial number of a detected logical stream greater than its argument

Logical* Ogg::Transport::logical ( long  serialNo  ) 

Returns the Logical with serialNo.

void Ogg::Transport::loop (  ) 

Encapsulation/decapsulation loop in Transport thread.

On encapsulation, accepts initiations of Logical streams for sending. Enforces page ordering according to Ogg::operator<(Page, Page).

On decapsulation, makes ready first header packet for each logical stream. To be safe, instantiate the reading Logical instances before you loop.

Call this within a try block to catch exceptions. To force exit from the loop, call terminate from another thread or from within the call back methods.

void Ogg::Transport::terminate (  ) 

Called by thread other than Transport or in call backs.

Sends command to Transport to exit loop at end of an Ogg stream.


Member Data Documentation

const unsigned char Ogg::Transport::CurrentVersion = 0x00 [static]


The documentation for this class was generated from the following file:
Generated on Tue May 1 16:48:33 2007 for libogg++ by  doxygen 1.5.1