Inherits Thread< false >.
Public Member Functions | |
WorkerThread (MultiThreadDownloaderBase *pDownloader, unsigned ID, ManagedPointer< AIFile > &pFile) | |
Protected Member Functions | |
virtual int | ThreadBody () override |
Private Member Functions | |
int | MainThreadLoop () |
Private Attributes | |
MultiThreadDownloaderBase * | m_pDownloader |
unsigned | m_ThreadID |
unsigned | m_ChunkID |
ULONGLONG | m_LastDone |
ManagedPointer< AIFile > | m_pFile |
InProcessMutex | m_FileCloseMutex |
Friends | |
class | MultiThreadDownloaderBase |
Most worker threads simply download some portions of file assigned by FileChunkDatabase, and exit either on download completion or abortion. The first worker thread performs some additional jobs by calling MultiThreadDownloaderBase::FirstThreadService() method.
BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::WorkerThread | ( | MultiThreadDownloaderBase * | pDownloader, | |
unsigned | ID, | |||
ManagedPointer< AIFile > & | pFile | |||
) | [inline] |
int BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::MainThreadLoop | ( | ) | [private] |
virtual int BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::ThreadBody | ( | ) | [override, protected, virtual] |
friend class MultiThreadDownloaderBase [friend] |
unsigned BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::m_ChunkID [private] |
InProcessMutex BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::m_FileCloseMutex [private] |
ULONGLONG BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::m_LastDone [private] |
MultiThreadDownloaderBase* BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::m_pDownloader [private] |
ManagedPointer<AIFile> BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::m_pFile [private] |
unsigned BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::m_ThreadID [private] |