Sirikata
|
ResourceDownloadTask is a helper class for downloading an entire resource. More...
#include <ResourceDownloadTask.hpp>
ResourceDownloadTask is a helper class for downloading an entire resource.
It handles getting the metadata and all the chunks, and then invokes a callback. The callback is also invoked, with empty data, if any part of the transfer failed.
This class should always be used as ResourceDownloadTaskPtr and you must maintain a reference for it to work properly -- the callback will not be invoked if you let the object's refcount drop to 0.
typedef std::tr1::function<void( ResourceDownloadTaskPtr taskptr, TransferRequestPtr request, DenseDataPtr response)> Sirikata::Transfer::ResourceDownloadTask::DownloadCallback |
Sirikata::Transfer::ResourceDownloadTask::~ResourceDownloadTask | ( | ) | [virtual] |
References cancel().
Sirikata::Transfer::ResourceDownloadTask::ResourceDownloadTask | ( | const URI & | uri, |
TransferPoolPtr | transfer_pool, | ||
double | priority, | ||
DownloadCallback | cb | ||
) | [protected] |
References mStarted.
Sirikata::Transfer::ResourceDownloadTask::ResourceDownloadTask | ( | const Chunk & | chunk, |
TransferPoolPtr | transfer_pool, | ||
double | priority, | ||
DownloadCallback | cb | ||
) | [protected] |
References mStarted.
void Sirikata::Transfer::ResourceDownloadTask::cancel | ( | ) |
References cb, mCurrentRequest, and mTransferPool.
Referenced by ~ResourceDownloadTask().
void Sirikata::Transfer::ResourceDownloadTask::chunkFinished | ( | TransferRequestPtr | request, |
DenseDataPtr | response | ||
) | [protected] |
void Sirikata::Transfer::ResourceDownloadTask::chunkFinishedWeak | ( | ResourceDownloadTaskWPtr | thiswptr, |
ChunkRequestPtr | request, | ||
DenseDataPtr | response | ||
) | [static, protected] |
Referenced by metadataFinished().
ResourceDownloadTaskPtr Sirikata::Transfer::ResourceDownloadTask::construct | ( | const Chunk & | chunk, |
TransferPoolPtr | transfer_pool, | ||
double | priority, | ||
DownloadCallback | cb | ||
) | [static] |
ResourceDownloadTaskPtr Sirikata::Transfer::ResourceDownloadTask::construct | ( | const URI & | uri, |
TransferPoolPtr | transfer_pool, | ||
double | priority, | ||
DownloadCallback | cb | ||
) | [static] |
void Sirikata::Transfer::ResourceDownloadTask::directChunkFinishedWeak | ( | ResourceDownloadTaskWPtr | thiswptr, |
DirectChunkRequestPtr | request, | ||
DenseDataPtr | response | ||
) | [static, protected] |
Referenced by start().
const String& Sirikata::Transfer::ResourceDownloadTask::getIdentifier | ( | ) | const [inline] |
bool Sirikata::Transfer::ResourceDownloadTask::isStarted | ( | ) | [inline] |
void Sirikata::Transfer::ResourceDownloadTask::mergeData | ( | const SparseData & | dataToMerge | ) |
References mMergeData.
void Sirikata::Transfer::ResourceDownloadTask::metadataFinished | ( | MetadataRequestPtr | request, |
RemoteFileMetadataPtr | response | ||
) | [protected] |
void Sirikata::Transfer::ResourceDownloadTask::metadataFinishedWeak | ( | ResourceDownloadTaskWPtr | thiswptr, |
MetadataRequestPtr | request, | ||
RemoteFileMetadataPtr | response | ||
) | [static, protected] |
Referenced by start().
void Sirikata::Transfer::ResourceDownloadTask::start | ( | ) |
void Sirikata::Transfer::ResourceDownloadTask::updatePriority | ( | float64 | priority | ) |
References mCurrentRequest, mPriority, and mTransferPool.
Referenced by cancel(), Sirikata::AggregateManager::chunkFinished(), and metadataFinished().
const Chunk Sirikata::Transfer::ResourceDownloadTask::mChunk [protected] |
Referenced by start().
Referenced by cancel(), Sirikata::AggregateManager::chunkFinished(), metadataFinished(), start(), and updatePriority().
const String Sirikata::Transfer::ResourceDownloadTask::mID [protected] |
Referenced by mergeData().
double Sirikata::Transfer::ResourceDownloadTask::mPriority [protected] |
Referenced by metadataFinished(), start(), and updatePriority().
bool Sirikata::Transfer::ResourceDownloadTask::mStarted [protected] |
Referenced by ResourceDownloadTask(), and start().
Referenced by cancel(), metadataFinished(), start(), and updatePriority().
const URI Sirikata::Transfer::ResourceDownloadTask::mURI [protected] |
Referenced by metadataFinished(), and start().