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


Public Member Functions | |
| BypassQueue (wns::ldk::HasReceptorInterface *parent, const wns::pyconfig::View &config) | |
| wns::scheduler::ConnectionSet | filterQueuedCids (wns::scheduler::ConnectionSet connections) |
| Returns the set of connections for which the queue has backlogged PDUs. | |
| virtual void | frameStarts () |
| May be called to signal that a frame starts. | |
| wns::scheduler::ConnectionSet | getActiveConnections () const |
| Returns a ConnectionSet of all connections who have backlogged PDUs in his queue. | |
| wns::scheduler::ConnectionSet | getActiveConnectionsForPriority (unsigned int priority) const |
| Returns a ConnectionSet of all connections with a certain priority who have backlogged PDUs in his queue. | |
| wns::ldk::CompoundPtr | getHeadOfLinePDU (wns::scheduler::ConnectionID cid) |
| Delivers the PDU that is the head-of-line element, e.g. the oldest entry of the queue, in the queue specified by cid. | |
| int | getHeadOfLinePDUbits (wns::scheduler::ConnectionID cid) |
| Delivers the size in bits of the PDU that will be returned by the next call to getHeadOfLinePDU(ConnectionID cid). | |
| wns::ldk::CompoundPtr | getHeadOfLinePDUSegment (wns::scheduler::ConnectionID cid, int bits) |
| get compound out and do segmentation into bits (gross) | |
| virtual std::queue < wns::ldk::CompoundPtr > | getQueueCopy (wns::scheduler::ConnectionID cid) |
| Retrieves a copy of the queue for a CID. Makes no sense here so we throw. | |
| wns::scheduler::UserSet | getQueuedUsers () const |
| Returns a UserSet of all users who have backlogged PDUs in at least one of their queues. | |
| wns::scheduler::QueueStatusContainer | getQueueStatus () const |
| Returns the container of QueueStatus for each cid. | |
| wns::ldk::Receptor * | getReceptor () const |
| bool | hasQueue (wns::scheduler::ConnectionID cid) |
| Retrurn True if a queue for this cid exists. | |
| bool | isAccepting (const wns::ldk::CompoundPtr &) const |
| Has to be called before calling put(CompoundPtr) to see whether the queue module can still accept the PDU. | |
| virtual bool | isEmpty () const |
| Return True if there is no compound in the queue. | |
| unsigned long int | numBitsForCid (wns::scheduler::ConnectionID cid) const |
| Returns the number of Bits to be scheduled for one user. Only used in scheduler/strategy/ProportionalFairBase. | |
| unsigned long int | numCompoundsForCid (wns::scheduler::ConnectionID cid) const |
| Returns the number of Compounds the Queue has stored for a certain user. Only used in scheduler/strategy/ProportionalFairBase. | |
| std::string | printAllQueues () |
| print number of bits and pdus in each queue | |
| void | put (const wns::ldk::CompoundPtr &compound) |
| Is used to store a PDU in the queue. | |
| bool | queueHasPDUs (wns::scheduler::ConnectionID) const |
| Returns true if the queue belonging to cid has backlogged PDUs. | |
| ProbeOutput | resetAllQueues () |
| Resets all internal queues and deletes all backlogged PDUs. | |
| ProbeOutput | resetQueue (wns::scheduler::ConnectionID) |
| Resets only the queue belonging to the given ConnectionID and all backlogged PDUs from this queue. | |
| ProbeOutput | resetQueues (wns::scheduler::UserID) |
| Resets all queues belonging to the given user and deletes all backlogged PDUs in these queues. | |
| void | setColleagues (wns::scheduler::RegistryProxyInterface *registry) |
| Gives the queue module access to the RegistryProxy. | |
| void | setFUN (wns::ldk::fun::FUN *fun) |
| Gives the queue module access to the FUN. | |
| bool | supportsDynamicSegmentation () const |
| true if getHeadOfLinePDUSegment() is supported | |
Private Attributes | |
| struct { | |
| wns::scheduler::RegistryProxyInterface * registry | |
| } | colleagues_ |
| wns::ldk::CompoundPtr | current_ |
| wns::ldk::HasReceptorInterface * | hasReceptor_ |
| IsAcceptingChecker * | isAcceptingChecker_ |
Classes | |
| struct | IsAcceptingChecker |
Definition at line 38 of file BypassQueue.hpp.
| BypassQueue::BypassQueue | ( | wns::ldk::HasReceptorInterface * | parent, | |
| const wns::pyconfig::View & | config | |||
| ) |
Definition at line 241 of file BypassQueue.cpp.
| wns::scheduler::ConnectionSet BypassQueue::filterQueuedCids | ( | wns::scheduler::ConnectionSet | connections | ) | [virtual] |
| void BypassQueue::frameStarts | ( | ) | [virtual] |
| wns::scheduler::ConnectionSet BypassQueue::getActiveConnections | ( | ) | const [virtual] |
| wns::scheduler::ConnectionSet BypassQueue::getActiveConnectionsForPriority | ( | unsigned int | priority | ) | const |
Definition at line 384 of file BypassQueue.cpp.
| wns::ldk::CompoundPtr BypassQueue::getHeadOfLinePDU | ( | wns::scheduler::ConnectionID | cid | ) | [virtual] |
The exact sorting criterion for the queues (FIFO/LIFO etc.) depends on the specific implementation of the queue.
Implements wns::scheduler::queue::QueueInterface.
Definition at line 291 of file BypassQueue.cpp.
| int BypassQueue::getHeadOfLinePDUbits | ( | wns::scheduler::ConnectionID | cid | ) | [virtual] |
| wns::ldk::CompoundPtr BypassQueue::getHeadOfLinePDUSegment | ( | wns::scheduler::ConnectionID | cid, | |
| int | bits | |||
| ) | [virtual] |
| std::queue< wns::ldk::CompoundPtr > BypassQueue::getQueueCopy | ( | wns::scheduler::ConnectionID | cid | ) | [virtual] |
| wns::scheduler::UserSet BypassQueue::getQueuedUsers | ( | ) | const [virtual] |
| wns::scheduler::QueueStatusContainer BypassQueue::getQueueStatus | ( | ) | const [virtual] |
| wns::ldk::Receptor * BypassQueue::getReceptor | ( | ) | const |
Definition at line 442 of file BypassQueue.cpp.
| bool BypassQueue::hasQueue | ( | wns::scheduler::ConnectionID | cid | ) | [virtual] |
| bool BypassQueue::isAccepting | ( | const wns::ldk::CompoundPtr & | compound | ) | const [virtual] |
According to the specific implementation the acceptance may be determined by the fill level of the correspondig queue. called in doIsAccepting(..) of the ResourceScheduler-FU.
Implements wns::scheduler::queue::QueueInterface.
Definition at line 249 of file BypassQueue.cpp.
| bool BypassQueue::isEmpty | ( | ) | const [virtual] |
| unsigned long int BypassQueue::numBitsForCid | ( | wns::scheduler::ConnectionID | cid | ) | const [virtual] |
Returns the number of Bits to be scheduled for one user
Implements wns::scheduler::queue::QueueInterface.
Definition at line 413 of file BypassQueue.cpp.
| unsigned long int BypassQueue::numCompoundsForCid | ( | wns::scheduler::ConnectionID | cid | ) | const [virtual] |
Returns the number of Compounds the Queue has stored for a certain user
Implements wns::scheduler::queue::QueueInterface.
Definition at line 401 of file BypassQueue.cpp.
| std::string BypassQueue::printAllQueues | ( | ) | [virtual] |
| void BypassQueue::put | ( | const wns::ldk::CompoundPtr & | compound | ) | [virtual] |
Before calling put(compound), a call to isAccepting(compound) has to be performed. The queue module has to retrieve the corresponding UserID and ConnctionID on its own.
Implements wns::scheduler::queue::QueueInterface.
Definition at line 320 of file BypassQueue.cpp.
| bool BypassQueue::queueHasPDUs | ( | wns::scheduler::ConnectionID | cid | ) | const [virtual] |
| wns::scheduler::queue::QueueInterface::ProbeOutput BypassQueue::resetAllQueues | ( | ) | [virtual] |
| wns::scheduler::queue::QueueInterface::ProbeOutput BypassQueue::resetQueue | ( | wns::scheduler::ConnectionID | ) | [virtual] |
| wns::scheduler::queue::QueueInterface::ProbeOutput BypassQueue::resetQueues | ( | wns::scheduler::UserID | ) | [virtual] |
| void BypassQueue::setColleagues | ( | wns::scheduler::RegistryProxyInterface * | registry | ) | [virtual] |
| void BypassQueue::setFUN | ( | wns::ldk::fun::FUN * | fun | ) | [virtual] |
| bool BypassQueue::supportsDynamicSegmentation | ( | ) | const [virtual] |
struct { ... } wimac::scheduler::BypassQueue::colleagues_ [private] |
Definition at line 244 of file BypassQueue.hpp.
Definition at line 240 of file BypassQueue.hpp.
IsAcceptingChecker* wimac::scheduler::BypassQueue::isAcceptingChecker_ [mutable, private] |
Definition at line 242 of file BypassQueue.hpp.
Definition at line 247 of file BypassQueue.hpp.
1.5.5