template < class Msg > class Fifo : public FifoBase < Msg >

This template class implements a thread safe FIFO of messages

Inheritance:


Public Methods

voInvalidInParm Fifo()
Create an empty FIFO
virtual ~Fifo()
Delete the FIFO - must be empty when deleted

Private Fields

VCondition condition
Conditional variable for waiting until the FIFO is not empty

Private Methods

virtual int wait(milliseconds_t relativeTime) throw( VException )
Blocks the thread, waiting for a message
virtual void wakeup() throw( VException )
Wake's up the blocked thread

Inherited from FifoBase:

Public Fields

typedef Vocal::TimeAndDate::TimerEntryId EventId

Public Methods

void add(const Msg &)
EventId addDelayMs( const Msg &, const milliseconds_t relativeTimeout)
int block(milliseconds_t relativeTimeout = -1) throw( VException )
void cancel(EventId)
Msg getNext() throw( VException )
bool messageAvailable()
bool operator!=(const FifoBase &)
bool operator< (const FifoBase &)
bool operator<=(const FifoBase &)
bool operator==(const FifoBase &)
bool operator> (const FifoBase &)
bool operator>=(const FifoBase &)
void shutdown()
unsigned int size()

Protected Methods

virtual bool messageAvailableNoLock()

Private Methods

FifoBase& operator=(const FifoBase &)

Documentation

This template class implements a thread safe FIFO of messages
voInvalidInParm Fifo()
Create an empty FIFO

virtual ~Fifo()
Delete the FIFO - must be empty when deleted

virtual void wakeup() throw( VException )
Wake's up the blocked thread

virtual int wait(milliseconds_t relativeTime) throw( VException )
Blocks the thread, waiting for a message. Note that the mutex_ is locked upon entry. It is the responsibility of the user to unlock the mutex if necessary.

VCondition condition
Conditional variable for waiting until the FIFO is not empty


This class has no child classes.

alphabetic index hierarchy of classes


generated by doc++