Den::CCommonWorkerThread Class Reference
class Den::CCommonWorkerThread : public CBase |
The Worker Thread is the holder of the relevant ESock objects in the CPM instance, e.g. the PitBoss, the Dealer and the Player (depending on configuration). It is also in charge of inter-thread communication as it holds the object enabling communication with the RootServer (CWorkerRootServChannelHandler) and a list of objects for communication with other Worker threads (CWorkerTransport).
CWorkerRootServChannelHandler CWorkerTransport
Protected Member Functions |
---|
| CCommonWorkerThread() |
void | CFBindMessageReceived(const CommsFW::TCFBindMsg &) |
void | CFMessageForward(const CommsFW::TCFForwardMsg &) |
IMPORT_C TInt | DecodePeerId(const CommsFW::TCFSubModuleAddress *, const CommsFW::TCFSubModuleAddress *, CommsFW::TWorkerId &) |
IMPORT_C void | DeleteHBufC8(TAny *) |
IMPORT_C void | DetermineRoleL(HBufC8 *, TBool &, TBool &, TPlayerRole &) |
void | DoCompleteUnbinding(CommsFW::TWorkerId) |
CCommonDealer * | DoCreateDealerL(CCommonWorkerThread *, TPlayerRole) |
CCommonPitBoss * | DoCreatePitBossL(CCommonWorkerThread *) |
CCommonPlayer * | DoCreatePlayerL(CCommonWorkerThread *, TPlayerRole) |
void | DoDeterminePlayerRoleL(HBufC8 *, TPlayerRole &) |
void | DoFillIntroMessage(CommsFW::TWorkerId, TWorkerIntroductionMsg &) |
void | DoPostMortemCleanup() |
void | DoProcessWorkerIntroductionL(const TWorkerIntroductionMsg &) |
void | DoSetShuttingDown() |
IMPORT_C void | MaybeCompleteUnbinding(CommsFW::TWorkerId, TBool) |
void | ProcessIniDataL() |
IMPORT_C void | SendIntroMessage(const CommsFW::TCFModuleName &, CommsFW::TWorkerId) |
Constructor & Destructor Documentation
CCommonWorkerThread()
IMPORT_C | CCommonWorkerThread | ( | ) | [protected] |
~CCommonWorkerThread()
IMPORT_C | ~CCommonWorkerThread | ( | ) | |
Member Functions Documentation
CFBindMessageReceived(const CommsFW::TCFBindMsg &)
CFMessageForward(const CommsFW::TCFForwardMsg &)
CFShutdownMessageReceived(const CommsFW::TCFShutdownMsg &)
CFUnbindMessageReceived(const CommsFW::TCFUnbindMsg &)
CompleteSessionClose(CWorkerSession *)
ConstructL(CommsFW::TCFModuleInfo &, CShutdownWatchDog &)
DealerShutdownComplete()
TBool
| DealerShutdownComplete | ( | ) | const [inline] |
DecProlongBindingLife()
IMPORT_C void | DecProlongBindingLife | ( | ) | |
DecodePeerId(const CommsFW::TCFSubModuleAddress *, const CommsFW::TCFSubModuleAddress *, CommsFW::TWorkerId &)
DefaultOptimalDealer()
TBool
| DefaultOptimalDealer | ( | ) | const [inline] |
DeleteHBufC8(TAny *)
IMPORT_C void | DeleteHBufC8 | ( | TAny * | aHBufC | ) | [protected, static] |
DestroyDealer()
IMPORT_C void | DestroyDealer | ( | ) | |
DestroyPlayer()
IMPORT_C void | DestroyPlayer | ( | ) | |
DetermineRoleL(HBufC8 *, TBool &, TBool &, TPlayerRole &)
DispatchL(const CommsFW::TCFMessage &, CommsFW::TWorkerId)
DoCompleteUnbinding(CommsFW::TWorkerId)
DoCreateDealerL(CCommonWorkerThread *, TPlayerRole)
DoCreatePitBossL(CCommonWorkerThread *)
DoCreatePlayerL(CCommonWorkerThread *, TPlayerRole)
DoDeterminePlayerRoleL(HBufC8 *, TPlayerRole &)
void | DoDeterminePlayerRoleL | ( | HBufC8 * | aIniData, |
| TPlayerRole & | aPlayerRole |
| ) | [protected, pure virtual] |
DoDispatchL(const CommsFW::TCFMessage &, CommsFW::TWorkerId)
DoFillIntroMessage(CommsFW::TWorkerId, TWorkerIntroductionMsg &)
DoPostMortemCleanup()
void | DoPostMortemCleanup | ( | ) | [protected, pure virtual] |
DoProcessWorkerIntroductionL(const TWorkerIntroductionMsg &)
DoSetShuttingDown()
void | DoSetShuttingDown | ( | ) | [protected, pure virtual] |
DropTransportToPeer(TInt)
void | DropTransportToPeer | ( | TInt | aPeer | ) | |
IncProlongBindingLife()
IMPORT_C void | IncProlongBindingLife | ( | ) | |
IsMainThread()
TBool
| IsMainThread | ( | ) | [inline] |
Use this to discover whether this Worker Thread is EMainThread ("Esock_Main") which is the main Dealer also containing the PitBoss. TWorkerThreadInfo
MaybeCompleteUnbinding(CommsFW::TWorkerId, TBool)
MaybeCompleteUnbindings()
IMPORT_C TBool | MaybeCompleteUnbindings | ( | ) | |
MaybeTriggerThreadShutdownCallback()
IMPORT_C void | MaybeTriggerThreadShutdownCallback | ( | ) | |
OnDispatchLeave(const CommsFW::TCFMessage &, CommsFW::TWorkerId, TInt)
PeerReachable(CommsFW::TWorkerId)
PitBoss()
Return the pointer to the domain PitBoss. This will be initialised when:
If this is Main thread: In CCommonWorkerThread::ConstructL(TCFModuleInfo* aModuleInfo).
In other common worker threads: When receiving TWorkerMsg::EMainIntroduction.
PlayerShutdownComplete()
TBool
| PlayerShutdownComplete | ( | ) | const [inline] |
PostMessage(CommsFW::TWorkerId, CommsFW::TCFMessage &)
PostMortemCleanupThreadEntry(TAny *)
IMPORT_C TInt | PostMortemCleanupThreadEntry | ( | TAny * | aArg | ) | [static] |
ProcessIniDataL()
void | ProcessIniDataL | ( | ) | [protected] |
SendIntroMessage(const CommsFW::TCFModuleName &, CommsFW::TWorkerId)
SessionShutdownComplete()
IMPORT_C void | SessionShutdownComplete | ( | ) | |
SetDealerShutdownComplete(TBool)
IMPORT_C void | SetDealerShutdownComplete | ( | TBool | aComplete | ) | |
SetPlayerShutdownComplete(TBool)
IMPORT_C void | SetPlayerShutdownComplete | ( | TBool | aComplete | ) | |
SetShuttingDown()
IMPORT_C void | SetShuttingDown | ( | ) | |
ShuttingDown()
IMPORT_C TBool | ShuttingDown | ( | ) | const |
TriggerThreadShutdownCallback()
void | TriggerThreadShutdownCallback | ( | ) | |
WorkerDealer()
IMPORT_C CCommonWorkerDealer * | WorkerDealer | ( | ) | const |
WorkerProperties(CommsFW::TWorkerId)
Member Data Documentation
CWorkerRootServChannelHandler * iChannelHandler
This is the handler used for bi-directional communication with the Root Server.
TBool
iDealerShutdownComplete
TBool
| iDealerShutdownComplete | [protected] |
Set by the Dealer instance to signal to the Worker Thread that it has finished with the shutdown bookkeeping and is ready to be deleted.
TBool
iDefaultOptimalDealer
TBool
| iDefaultOptimalDealer | [protected] |
RAllocator::TAllocFail
iFailType
Messages::CGlobals * iGlobals
CCommonPitBoss * iPitBoss
TBool
iPlayerShutdownComplete
TBool
| iPlayerShutdownComplete | [protected] |
Set by the Player instance to signal to the Worker Thread that it has finished with the shutdown bookkeeping and is ready to be deleted.
TInt
iProlongBindingLife
TInt
| iProlongBindingLife | [protected] |
If the value of this TInt is larger than 0 any unbind requests will not be served, but postponed until iProlongBindingLife is 0. This is to ensure that if e.g. a TWorkerMsg::ECleanupDeadPeer or TPlayerMsg::ESessionClose is received they will be fully served before completing any unbind and thus deleting channel handlers.
CShutdownWatchDog * iShutdownWatchDog
CShutdownWatchDog * | iShutdownWatchDog | [protected] |
CommsFW::CCommsTransport * iTransport
CommsFW::TWorkerId
iWorkerId
Indentification of this thread. No other instance must have the same id. TWorkerThreadInfo
CWorkerRegister * iWorkerRegister
TBool
iWorkerShuttingDown
TBool
| iWorkerShuttingDown | [protected] |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.