Sirikata
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Sirikata::FairServerMessageQueue Class Reference

#include <FairServerMessageQueue.hpp>

Inheritance diagram for Sirikata::FairServerMessageQueue:
Collaboration diagram for Sirikata::FairServerMessageQueue:

List of all members.

Classes

struct  SenderAdapterQueue

Public Member Functions

 FairServerMessageQueue (SpaceContext *ctx, SpaceNetwork *net, Sender *sender)
 ~FairServerMessageQueue ()

Protected Types

typedef FairQueue< Message,
ServerID, SenderAdapterQueue
FairSendQueue
typedef boost::lock_guard
< boost::recursive_mutex > 
MutexLock

Protected Member Functions

virtual void messageReady (ServerID sid)
 Indicate that a new message is available upstream, destined for the specified server.
virtual void networkReadyToSend (const ServerID &from)
 Invoked when, after a call to Network::send() fails, the network determines it can accept more data.
virtual void handleUpdateReceiverStats (ServerID sid, double total_weight, double used_weight)
void addInputQueue (ServerID sid, float weight)
void removeInputQueue (ServerID sid)
float getAverageServerWeight () const
void enableDownstream (ServerID sid)
void disableDownstream (ServerID sid)
void scheduleServicing ()
void service ()

Protected Attributes

FairSendQueue mServerQueues
Sirikata::AtomicValue< bool > mServiceScheduled
uint64 mStoppedBlocked
uint64 mStoppedUnderflow
boost::recursive_mutex mMutex

Member Typedef Documentation

typedef boost::lock_guard<boost::recursive_mutex> Sirikata::FairServerMessageQueue::MutexLock [protected]

Constructor & Destructor Documentation

Sirikata::FairServerMessageQueue::FairServerMessageQueue ( SpaceContext ctx,
SpaceNetwork net,
Sender sender 
)
Sirikata::FairServerMessageQueue::~FairServerMessageQueue ( )

Member Function Documentation

void Sirikata::FairServerMessageQueue::addInputQueue ( ServerID  sid,
float  weight 
) [protected]
void Sirikata::FairServerMessageQueue::disableDownstream ( ServerID  sid) [protected]
void Sirikata::FairServerMessageQueue::enableDownstream ( ServerID  sid) [protected]
float Sirikata::FairServerMessageQueue::getAverageServerWeight ( ) const [protected]
void Sirikata::FairServerMessageQueue::handleUpdateReceiverStats ( ServerID  sid,
double  total_weight,
double  used_weight 
) [protected, virtual]
void Sirikata::FairServerMessageQueue::messageReady ( ServerID  sid) [protected, virtual]
void Sirikata::FairServerMessageQueue::networkReadyToSend ( const ServerID &  from) [protected, virtual]

Invoked when, after a call to Network::send() fails, the network determines it can accept more data.

Implements Sirikata::ServerMessageQueue.

References enableDownstream(), Sirikata::Logging::info, Sirikata::ServerMessageQueue::mContext, Sirikata::Time::null(), SILOG, and Sirikata::Context::simTime().

void Sirikata::FairServerMessageQueue::removeInputQueue ( ServerID  sid) [protected]
void Sirikata::FairServerMessageQueue::scheduleServicing ( ) [protected]
void Sirikata::FairServerMessageQueue::service ( ) [protected]

Member Data Documentation

boost::recursive_mutex Sirikata::FairServerMessageQueue::mMutex [mutable, protected]

Referenced by scheduleServicing(), and service().

Referenced by service(), and ~FairServerMessageQueue().

Referenced by service(), and ~FairServerMessageQueue().


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