User Manual, Developers Guide and API Documentation

wns::scheduler::queue::detail::InnerQueue Class Reference

#include <scheduler/queue/detail/InnerQueue.hpp>

Collaboration diagram for wns::scheduler::queue::detail::InnerQueue:

Collaboration graph
[legend]

List of all members.

Public Member Functions

bool empty () const
 Is the queue empty ?
std::queue< wns::ldk::CompoundPtrgetQueueCopy ()
 Retrieves a copy of the raw queue. Queued compounds are not copied but point to the same ones as in the original queue!
 InnerQueue ()
void put (const wns::ldk::CompoundPtr &compound)
 Append a compound to the end of the queue.
Bit queuedBruttoBits (Bit fixedHeaderSize, Bit extensionHeaderSize, bool byteAlignHeader) const
 How many bits will be delivered if all queued compounds are delivered in one PDU.
int queuedCompounds () const
 Get number of compounds in queue.
Bit queuedNettoBits () const
 The current queue length in Bits.
wns::ldk::CompoundPtr retrieve (Bit requestedBits, Bit fixedHeaderSize, Bit extensionHeaderSize, bool usePadding, bool byteAlignHeader, wns::ldk::CommandReaderInterface *reader, const wns::probe::bus::ContextCollectorPtr &=wns::probe::bus::ContextCollectorPtr(), wns::ldk::CommandReaderInterface *=NULL)
 Retrieve a new compound from the front of the queue of required length (brutto) and segment and concatenate as necessary.

Private Types

typedef std::queue
< wns::ldk::CompoundPtr
CompoundContainer

Private Member Functions

void probe (const wns::ldk::CompoundPtr &compound, const wns::probe::bus::ContextCollectorPtr &probeCC, wns::ldk::CommandReaderInterface *cmdReader)

Private Attributes

Bit frontSegmentSentBits_
Bit nettoBits_
CompoundContainer pduQueue_
long sequenceNumber_

Classes

class  RequestBelowMinimumSize
 Thrown if a too small segment is requested. More...
class  RetrieveException
 Thrown if an error occured when retrieving segments from the queue. More...


Detailed Description

Definition at line 38 of file InnerQueue.hpp.


Member Typedef Documentation

Definition at line 149 of file InnerQueue.hpp.


Constructor & Destructor Documentation

InnerQueue::InnerQueue (  ) 

Definition at line 39 of file InnerQueue.cpp.


Member Function Documentation

bool InnerQueue::empty (  )  const

Definition at line 77 of file InnerQueue.cpp.

std::queue< wns::ldk::CompoundPtr > InnerQueue::getQueueCopy (  ) 

Definition at line 193 of file InnerQueue.cpp.

void InnerQueue::probe ( const wns::ldk::CompoundPtr compound,
const wns::probe::bus::ContextCollectorPtr probeCC,
wns::ldk::CommandReaderInterface cmdReader 
) [private]

Definition at line 199 of file InnerQueue.cpp.

void InnerQueue::put ( const wns::ldk::CompoundPtr compound  ) 

Definition at line 83 of file InnerQueue.cpp.

Bit InnerQueue::queuedBruttoBits ( Bit  fixedHeaderSize,
Bit  extensionHeaderSize,
bool  byteAlignHeader 
) const

Brutto bits are calculated as follows:

bruttoBits = fixedHeaderSize + (N-1) * extensionHeaderSize + getNettoBits()

where N is the number of queued compounds

Optionally the header size is increased in the end to be byte aligned.

Definition at line 53 of file InnerQueue.cpp.

int InnerQueue::queuedCompounds (  )  const

Definition at line 71 of file InnerQueue.cpp.

Bit InnerQueue::queuedNettoBits (  )  const

Returns:
The current length of the queue in bits

Definition at line 47 of file InnerQueue.cpp.

wns::ldk::CompoundPtr InnerQueue::retrieve ( Bit  requestedBits,
Bit  fixedHeaderSize,
Bit  extensionHeaderSize,
bool  usePadding,
bool  byteAlignHeader,
wns::ldk::CommandReaderInterface reader,
const wns::probe::bus::ContextCollectorPtr probeCC = wns::probe::bus::ContextCollectorPtr(),
wns::ldk::CommandReaderInterface probeCmdReader = NULL 
)

Definition at line 91 of file InnerQueue.cpp.


Member Data Documentation

Definition at line 157 of file InnerQueue.hpp.

Definition at line 153 of file InnerQueue.hpp.

Definition at line 151 of file InnerQueue.hpp.

Definition at line 155 of file InnerQueue.hpp.


The documentation for this class was generated from the following files:

Generated on Sun May 27 03:33:04 2012 for openWNS by  doxygen 1.5.5