The C++ framework for developing highly scalable, high performance servers on Windows platforms.

CActivatableObject Class Reference

Inheritance diagram for CActivatableObject:
Collaboration diagram for CActivatableObject:

List of all members.

Public Types

enum  ProcessingFlags { QueueOnlyDoNotProcess, ProcessAll, ProcessOnlyThisCommand, AllowRecursiveProcessing }
typedef BYTE CommandCode

Public Member Functions

 CActivatableObject (Callback &callback, size_t initialQueueSize=DefaultInitialQueueSize)
 CActivatableObject (const CActivatableObject &rhs)
 ~CActivatableObject ()
CActivatableObjectoperator= (const CActivatableObject &rhs)
bool ValidateThatThisThreadIsProcessing () const
bool QueueCommandForProcessing (CommandProcessorCallback &callback, CommandCode commandCode, const void *pCommandData=nullptr, size_t dataLength=0, ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessingEx (CommandProcessorCallback &callback, CommandCode commandCode, const Data data[], size_t numEntries, ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessing (CommandCode commandCode, const void *pCommandData=nullptr, size_t dataLength=0, ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessingEx (CommandCode commandCode, const Data data[], size_t numEntries, ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandIfNotLastQueued (CommandCode commandCode, ProcessingFlags processingFlags=ProcessAll)
void ProcessQueuedCommands ()
void GetQueueDetails (ThreadId &processingThread, QueuedCommands &commands) const

Static Public Attributes

static const CommandCode InvalidCommandCode = 0xFF
static const size_t DefaultInitialQueueSize = 100

Classes

class  Callback
class  CommandData
class  CommandProcessorCallback
class  CommandWrapper
class  CommandWrapperEx
class  IProcessQueuedCommand
class  QueuedCommands


Member Typedef Documentation

typedef BYTE CommandCode


Member Enumeration Documentation

Enumerator:
QueueOnlyDoNotProcess 
ProcessAll 
ProcessOnlyThisCommand 
AllowRecursiveProcessing 


Constructor & Destructor Documentation

CActivatableObject ( Callback callback,
size_t  initialQueueSize = DefaultInitialQueueSize 
) [explicit]

CActivatableObject ( const CActivatableObject rhs  ) 


Member Function Documentation

CActivatableObject& operator= ( const CActivatableObject rhs  ) 

bool ValidateThatThisThreadIsProcessing (  )  const

bool QueueCommandForProcessing ( CommandProcessorCallback callback,
CommandCode  commandCode,
const void *  pCommandData = nullptr,
size_t  dataLength = 0,
ProcessingFlags  processingFlags = ProcessAll 
)

bool QueueCommandForProcessingEx ( CommandProcessorCallback callback,
CommandCode  commandCode,
const Data  data[],
size_t  numEntries,
ProcessingFlags  processingFlags = ProcessAll 
)

bool QueueCommandForProcessing ( CommandCode  commandCode,
const void *  pCommandData = nullptr,
size_t  dataLength = 0,
ProcessingFlags  processingFlags = ProcessAll 
)

bool QueueCommandForProcessingEx ( CommandCode  commandCode,
const Data  data[],
size_t  numEntries,
ProcessingFlags  processingFlags = ProcessAll 
)

bool QueueCommandIfNotLastQueued ( CommandCode  commandCode,
ProcessingFlags  processingFlags = ProcessAll 
)

void ProcessQueuedCommands (  ) 

void GetQueueDetails ( ThreadId processingThread,
QueuedCommands commands 
) const


Member Data Documentation

const CommandCode InvalidCommandCode = 0xFF [static]

const size_t DefaultInitialQueueSize = 100 [static]


Generated on Sun Sep 12 19:08:18 2021 for The Server Framework - v7.4 by doxygen 1.5.3