BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread Class Reference

Represents a worker thread for multi-thread downloading. More...

Inherits Thread< false >.

Collaboration diagram for BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread:

Collaboration graph
[legend]

List of all members.

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

MultiThreadDownloaderBasem_pDownloader
unsigned m_ThreadID
unsigned m_ChunkID
ULONGLONG m_LastDone
ManagedPointer< AIFilem_pFile
InProcessMutex m_FileCloseMutex

Friends

class MultiThreadDownloaderBase


Detailed Description

Represents a worker thread for multi-thread downloading.

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.


Constructor & Destructor Documentation

BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::WorkerThread ( MultiThreadDownloaderBase pDownloader,
unsigned  ID,
ManagedPointer< AIFile > &  pFile 
) [inline]


Member Function Documentation

int BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::MainThreadLoop (  )  [private]

virtual int BazisLib::Network::MultiThreaded::MultiThreadDownloaderBase::WorkerThread::ThreadBody (  )  [override, protected, virtual]


Friends And Related Function Documentation

friend class MultiThreadDownloaderBase [friend]


Member Data Documentation


The documentation for this class was generated from the following file:
SourceForge.net Logo