Sirikata
|
Simplest implementation of TransferPool. More...
#include <TransferPool.hpp>
Public Member Functions | |
virtual | ~SimpleTransferPool () |
virtual void | addRequest (TransferRequestPtr req) |
Puts a request into the pool. | |
virtual void | updatePriority (TransferRequestPtr req, Priority p) |
Updates priority of a request in the pool. | |
void | deleteRequest (TransferRequestPtr req) |
Updates priority of a request in the pool. | |
Private Member Functions | |
SimpleTransferPool (const std::string &clientID) | |
std::tr1::shared_ptr < TransferRequest > | getRequest () |
Private Attributes | |
ThreadSafeQueue < TransferRequestPtr > | mDeltaQueue |
Friends | |
class | TransferMediator |
Simplest implementation of TransferPool.
The user *must only have one outstanding request for any given resource at a time*.
virtual Sirikata::Transfer::SimpleTransferPool::~SimpleTransferPool | ( | ) | [inline, virtual] |
Sirikata::Transfer::SimpleTransferPool::SimpleTransferPool | ( | const std::string & | clientID | ) | [inline, private] |
virtual void Sirikata::Transfer::SimpleTransferPool::addRequest | ( | TransferRequestPtr | req | ) | [inline, virtual] |
Puts a request into the pool.
Implements Sirikata::Transfer::TransferPool.
References mDeltaQueue, Sirikata::ThreadSafeQueue< T >::push(), and Sirikata::Transfer::TransferPool::setRequestClientID().
void Sirikata::Transfer::SimpleTransferPool::deleteRequest | ( | TransferRequestPtr | req | ) | [inline, virtual] |
Updates priority of a request in the pool.
Implements Sirikata::Transfer::TransferPool.
References mDeltaQueue, Sirikata::ThreadSafeQueue< T >::push(), and Sirikata::Transfer::TransferPool::setRequestDeletion().
std::tr1::shared_ptr<TransferRequest> Sirikata::Transfer::SimpleTransferPool::getRequest | ( | ) | [inline, private, virtual] |
Implements Sirikata::Transfer::TransferPool.
References Sirikata::ThreadSafeQueue< T >::blockingPop(), and mDeltaQueue.
virtual void Sirikata::Transfer::SimpleTransferPool::updatePriority | ( | TransferRequestPtr | req, |
Priority | p | ||
) | [inline, virtual] |
Updates priority of a request in the pool.
Implements Sirikata::Transfer::TransferPool.
References mDeltaQueue, Sirikata::ThreadSafeQueue< T >::push(), and Sirikata::Transfer::TransferPool::setRequestPriority().
friend class TransferMediator [friend] |
Reimplemented from Sirikata::Transfer::TransferPool.
Referenced by addRequest(), deleteRequest(), getRequest(), and updatePriority().