![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <scheduler/queue/detail/InnerQueue.hpp>

Public Member Functions | |
| bool | empty () const |
| Is the queue empty ? | |
| std::queue< wns::ldk::CompoundPtr > | getQueueCopy () |
| 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... | |
Definition at line 38 of file InnerQueue.hpp.
typedef std::queue<wns::ldk::CompoundPtr> wns::scheduler::queue::detail::InnerQueue::CompoundContainer [private] |
Definition at line 149 of file InnerQueue.hpp.
| InnerQueue::InnerQueue | ( | ) |
Definition at line 39 of file InnerQueue.cpp.
| 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 |
| 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.
Definition at line 157 of file InnerQueue.hpp.
Definition at line 153 of file InnerQueue.hpp.
Definition at line 151 of file InnerQueue.hpp.
long wns::scheduler::queue::detail::InnerQueue::sequenceNumber_ [private] |
Definition at line 155 of file InnerQueue.hpp.
1.5.5