Sirikata
|
#include <TransferRequest.hpp>
Public Types | |
typedef std::tr1::function < void(std::tr1::shared_ptr < DirectChunkRequest > request, std::tr1::shared_ptr< const DenseData > response)> | DirectChunkCallback |
Public Member Functions | |
DirectChunkRequest (const Chunk &chunk, Priority priority, DirectChunkCallback cb) | |
const Chunk & | getChunk () |
const std::string & | getIdentifier () const |
Get an identifier for the data referred to by this TransferRequest. | |
void | execute (std::tr1::shared_ptr< TransferRequest > req, ExecuteFinished cb) |
void | execute_finished (std::tr1::shared_ptr< const DenseData > response, ExecuteFinished cb) |
void | notifyCaller (TransferRequestPtr me, TransferRequestPtr from) |
void | notifyCaller (TransferRequestPtr me, TransferRequestPtr from, DenseDataPtr data) |
Protected Attributes | |
std::string | mID |
std::tr1::shared_ptr< Chunk > | mChunk |
DirectChunkCallback | mCallback |
std::tr1::shared_ptr< const DenseData > | mDenseData |
typedef std::tr1::function<void( std::tr1::shared_ptr<DirectChunkRequest> request, std::tr1::shared_ptr<const DenseData> response)> Sirikata::Transfer::DirectChunkRequest::DirectChunkCallback |
Sirikata::Transfer::DirectChunkRequest::DirectChunkRequest | ( | const Chunk & | chunk, |
Priority | priority, | ||
DirectChunkCallback | cb | ||
) | [inline] |
References Sirikata::Transfer::Chunk::toString().
Referenced by execute(), and notifyCaller().
void Sirikata::Transfer::DirectChunkRequest::execute | ( | std::tr1::shared_ptr< TransferRequest > | req, |
ExecuteFinished | cb | ||
) | [virtual] |
void Sirikata::Transfer::DirectChunkRequest::execute_finished | ( | std::tr1::shared_ptr< const DenseData > | response, |
ExecuteFinished | cb | ||
) |
References Sirikata::Logging::detailed, Sirikata::Transfer::HttpManager::getSingleton(), mDenseData, Sirikata::Transfer::HttpManager::postCallback(), and SILOG.
Referenced by execute().
const Chunk& Sirikata::Transfer::DirectChunkRequest::getChunk | ( | ) | [inline] |
const std::string& Sirikata::Transfer::DirectChunkRequest::getIdentifier | ( | ) | const [inline, virtual] |
Get an identifier for the data referred to by this TransferRequest.
The identifier is not unique for each TransferRequest. Instead, it identifies the asset data: if two identifiers are equal, they refer to the same data. (Two different identifiers may *ultimately* refer to the same data because two names could point to the same underlying hash).
Implements Sirikata::Transfer::TransferRequest.
void Sirikata::Transfer::DirectChunkRequest::notifyCaller | ( | TransferRequestPtr | me, |
TransferRequestPtr | from | ||
) | [virtual] |
Implements Sirikata::Transfer::TransferRequest.
References DirectChunkRequest().
Referenced by Sirikata::Transfer::AggregatedTransferPool::handleDirectChunk().
void Sirikata::Transfer::DirectChunkRequest::notifyCaller | ( | TransferRequestPtr | me, |
TransferRequestPtr | from, | ||
DenseDataPtr | data | ||
) |
Referenced by notifyCaller().
std::tr1::shared_ptr<Chunk> Sirikata::Transfer::DirectChunkRequest::mChunk [protected] |
Referenced by execute().
std::tr1::shared_ptr<const DenseData> Sirikata::Transfer::DirectChunkRequest::mDenseData [protected] |
Referenced by execute_finished().
std::string Sirikata::Transfer::DirectChunkRequest::mID [protected] |