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

MultiThreadDownloaderBase * m_pDownloader
unsigned m_ThreadID
unsigned m_ChunkID
ULONGLONG m_LastDone
ManagedPointer< AIFile > m_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