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

TActivatableObject Class Template Reference

Inheritance diagram for TActivatableObject:
Collaboration diagram for TActivatableObject:

List of all members.

template<typename CommandCodeType>
class JetByteTools::Core::TActivatableObject< CommandCodeType >


Public Types

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

Public Member Functions

 TActivatableObject (Callback &callback, const size_t initialQueueSize=DefaultInitialQueueSize)
bool QueueCommandForProcessing (CommandProcessorCallback &callback, const CommandCodeType commandCode, const void *pCommandData=nullptr, const size_t dataLength=0, const ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessingEx (CommandProcessorCallback &callback, const CommandCodeType commandCode, const Data data[], const size_t numEntries, const ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessing (const CommandCodeType commandCode, const void *pCommandData=nullptr, const size_t dataLength=0, const ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessingEx (const CommandCodeType commandCode, const Data data[], const size_t numEntries, ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandIfNotLastQueued (const CommandCodeType commandCode, const ProcessingFlags processingFlags=ProcessAll)
bool ValidateThatThisThreadIsProcessing () const
bool QueueCommandForProcessing (CommandProcessorCallback &callback, CommandCode commandCode, const void *pCommandData=nullptr, size_t dataLength=0, ProcessingFlags processingFlags=ProcessAll)
bool QueueCommandForProcessing (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 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

Member Typedef Documentation

typedef BYTE CommandCode [inherited]


Member Enumeration Documentation

enum ProcessingFlags [inherited]

Enumerator:
QueueOnlyDoNotProcess 
ProcessAll 
ProcessOnlyThisCommand 
AllowRecursiveProcessing 


Constructor & Destructor Documentation

TActivatableObject ( Callback &  callback,
const size_t  initialQueueSize = DefaultInitialQueueSize 
) [inline, explicit]


Member Function Documentation

bool QueueCommandForProcessing ( CommandProcessorCallback &  callback,
const CommandCodeType  commandCode,
const void *  pCommandData = nullptr,
const size_t  dataLength = 0,
const ProcessingFlags  processingFlags = ProcessAll 
) [inline]

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

bool QueueCommandForProcessing ( const CommandCodeType  commandCode,
const void *  pCommandData = nullptr,
const size_t  dataLength = 0,
const ProcessingFlags  processingFlags = ProcessAll 
) [inline]

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

bool QueueCommandIfNotLastQueued ( const CommandCodeType  commandCode,
const ProcessingFlags  processingFlags = ProcessAll 
) [inline]

bool ValidateThatThisThreadIsProcessing (  )  const [inherited]

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

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

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

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

bool QueueCommandIfNotLastQueued ( CommandCode  commandCode,
ProcessingFlags  processingFlags = ProcessAll 
) [inherited]

void ProcessQueuedCommands (  )  [inherited]

void GetQueueDetails ( ThreadId processingThread,
QueuedCommands commands 
) const [inherited]


Member Data Documentation

const CommandCode InvalidCommandCode = 0xFF [static, inherited]

const size_t DefaultInitialQueueSize = 100 [static, inherited]


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