User Manual, Developers Guide and API Documentation

wns::scheduler::queue::QueueProxy Class Reference

This virtual queue is intended to be used by a Master UL scheduler and passes all calls to the according queue of the Slave UL scheduler(s) in the UT(s). A system specific QueueManager must be available mapping CIDs to according Queues.

#include <scheduler/queue/QueueProxy.hpp>

Inheritance diagram for wns::scheduler::queue::QueueProxy:

Inheritance graph
[legend]
Collaboration diagram for wns::scheduler::queue::QueueProxy:

Collaboration graph
[legend]

List of all members.

Public Member Functions

wns::scheduler::ConnectionSet filterQueuedCids (wns::scheduler::ConnectionSet connections)
 Returns the set of connections for which the queue has backlogged PDUs.
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::ldk::CompoundPtr getHeadOfLinePDU (wns::scheduler::ConnectionID cid)
 compound out
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
int getMinimumSegmentSize () const
 if supportsDynamicSegmentation, this is the minimum size of a segment in bits
virtual std::queue
< wns::ldk::CompoundPtr
getQueueCopy (ConnectionID cid)
 Retrieves a copy of the queue for a CID. This class uses the method from other queues but it makes no sense to call our method 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 a container of QueueStatus for each cid.
bool hasQueue (wns::scheduler::ConnectionID cid)
 Return True if a queue for this cid exists.
bool isAccepting (const wns::ldk::CompoundPtr &compound) const
 Has to be called before calling put(CompoundPtr) to see whether the queue module can still accept the PDU. 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.
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 schedules for one user.
unsigned long int numCompoundsForCid (wns::scheduler::ConnectionID cid) const
 Returns the number of Compounds the Queue has stored for a certain user.
std::string printAllQueues ()
 print number of bits and pdus in each queue
void put (const wns::ldk::CompoundPtr &compound)
 compound in
bool queueHasPDUs (wns::scheduler::ConnectionID cid) const
 Returns true if the queue belonging to cid has backlogged PDUs.
 QueueProxy (wns::ldk::HasReceptorInterface *, const wns::pyconfig::View &config)
wns::scheduler::queue::QueueInterface::ProbeOutput resetAllQueues ()
 Resets all internal queues and deletes all backlogged PDUs.
wns::scheduler::queue::QueueInterface::ProbeOutput resetQueue (wns::scheduler::ConnectionID cid)
 Resets only the queue belonging to the given ConnectionID and all backlogged PDUs from this queue.
wns::scheduler::queue::QueueInterface::ProbeOutput resetQueues (wns::scheduler::UserID user)
 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)
 needed for probes
void startCollectionIfNeeded (wns::scheduler::ConnectionID cid) const
bool supportsDynamicSegmentation () const
 true if getHeadOfLinePDUSegment() is supported
virtual ~QueueProxy ()

Private Member Functions

void createQueueCopyIfNeeded (wns::scheduler::ConnectionID cid) const

Private Attributes

struct
wns::scheduler::queue::QueueProxy::Colleagues 
colleagues
detail::IInnerCopyQueuecopyQueue_
std::map
< wns::scheduler::ConnectionID,
wns::simulator::Time
lastChecked_
std::map
< wns::scheduler::ConnectionID,
wns::simulator::Time
lastCollected_
wns::logger::Logger logger_
wns::ldk::fun::FUNmyFUN_
std::string queueManagerServiceName_
bool supportsDynamicSegmentation_

Classes

struct  Colleagues


Detailed Description

Definition at line 44 of file QueueProxy.hpp.


Constructor & Destructor Documentation

QueueProxy::QueueProxy ( wns::ldk::HasReceptorInterface hasReceptor,
const wns::pyconfig::View config 
)

Definition at line 38 of file QueueProxy.cpp.

QueueProxy::~QueueProxy (  )  [virtual]

Definition at line 62 of file QueueProxy.cpp.


Member Function Documentation

void QueueProxy::createQueueCopyIfNeeded ( wns::scheduler::ConnectionID  cid  )  const [private]

Definition at line 383 of file QueueProxy.cpp.

wns::scheduler::ConnectionSet QueueProxy::filterQueuedCids ( wns::scheduler::ConnectionSet  connections  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 284 of file QueueProxy.cpp.

void QueueProxy::frameStarts (  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 336 of file QueueProxy.cpp.

wns::scheduler::ConnectionSet QueueProxy::getActiveConnections (  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 121 of file QueueProxy.cpp.

wns::ldk::CompoundPtr QueueProxy::getHeadOfLinePDU ( wns::scheduler::ConnectionID  cid  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 197 of file QueueProxy.cpp.

int QueueProxy::getHeadOfLinePDUbits ( wns::scheduler::ConnectionID  cid  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 206 of file QueueProxy.cpp.

wns::ldk::CompoundPtr QueueProxy::getHeadOfLinePDUSegment ( wns::scheduler::ConnectionID  cid,
int  bits 
) [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 363 of file QueueProxy.cpp.

int QueueProxy::getMinimumSegmentSize (  )  const [virtual]

Reimplemented from wns::scheduler::queue::QueueInterface.

Definition at line 373 of file QueueProxy.cpp.

std::queue< wns::ldk::CompoundPtr > QueueProxy::getQueueCopy ( ConnectionID  cid  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 429 of file QueueProxy.cpp.

wns::scheduler::UserSet QueueProxy::getQueuedUsers (  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 96 of file QueueProxy.cpp.

wns::scheduler::QueueStatusContainer QueueProxy::getQueueStatus (  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 175 of file QueueProxy.cpp.

bool QueueProxy::hasQueue ( wns::scheduler::ConnectionID  cid  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 235 of file QueueProxy.cpp.

bool QueueProxy::isAccepting ( const wns::ldk::CompoundPtr compound  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 84 of file QueueProxy.cpp.

bool QueueProxy::isEmpty (  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 222 of file QueueProxy.cpp.

unsigned long int QueueProxy::numBitsForCid ( wns::scheduler::ConnectionID  cid  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 159 of file QueueProxy.cpp.

unsigned long int QueueProxy::numCompoundsForCid ( wns::scheduler::ConnectionID  cid  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 143 of file QueueProxy.cpp.

std::string QueueProxy::printAllQueues (  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 341 of file QueueProxy.cpp.

void QueueProxy::put ( const wns::ldk::CompoundPtr compound  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 90 of file QueueProxy.cpp.

bool QueueProxy::queueHasPDUs ( wns::scheduler::ConnectionID  cid  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 244 of file QueueProxy.cpp.

QueueInterface::ProbeOutput QueueProxy::resetAllQueues (  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 296 of file QueueProxy.cpp.

QueueInterface::ProbeOutput QueueProxy::resetQueue ( wns::scheduler::ConnectionID  cid  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 324 of file QueueProxy.cpp.

QueueInterface::ProbeOutput QueueProxy::resetQueues ( wns::scheduler::UserID  user  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 318 of file QueueProxy.cpp.

void QueueProxy::setColleagues ( wns::scheduler::RegistryProxyInterface registry  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 290 of file QueueProxy.cpp.

void QueueProxy::setFUN ( wns::ldk::fun::FUN fun  )  [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 68 of file QueueProxy.cpp.

void QueueProxy::startCollectionIfNeeded ( wns::scheduler::ConnectionID  cid  )  const

Definition at line 435 of file QueueProxy.cpp.

bool QueueProxy::supportsDynamicSegmentation (  )  const [virtual]

Implements wns::scheduler::queue::QueueInterface.

Definition at line 357 of file QueueProxy.cpp.


Member Data Documentation

Definition at line 150 of file QueueProxy.hpp.

Definition at line 148 of file QueueProxy.hpp.

Definition at line 149 of file QueueProxy.hpp.

Definition at line 152 of file QueueProxy.hpp.

Definition at line 153 of file QueueProxy.hpp.

Definition at line 145 of file QueueProxy.hpp.

Definition at line 146 of file QueueProxy.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