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

CSortedBufferChain Class Reference
[I/O BuffersAsynchronous I/O]

Inheritance diagram for CSortedBufferChain:
Collaboration diagram for CSortedBufferChain:

List of all members.

Public Types

typedef
IBuffer::SequenceNumber 
GetSequenceNumberFnc (const IBuffer &buffer)
typedef ULONG_PTR UserData

Public Member Functions

 CSortedBufferChain (JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex=UseDefaultUserDataIndex, IBuffer::SequenceNumber sequenceNumber=0)
 CSortedBufferChain (GetSequenceNumberFnc *pGetSequenceNumber, JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex=UseDefaultUserDataIndex, IBuffer::SequenceNumber sequenceNumber=0)
 CSortedBufferChain (const CSortedBufferChain &rhs)
 ~CSortedBufferChain () override
CSortedBufferChainoperator= (const CSortedBufferChain &rhs)
void SetInitialSequenceNumber (IBuffer::SequenceNumber sequenceNumber)
void Reset ()
bool CanGetNext () const
size_t NumConsecutiveBuffers () const
IBuffer::SequenceNumber GetNextSequenceNumber () const
bool CanStoreNulls () const override
bool IsEmpty () const override
size_t Size () const override
size_t TotalBytes () const override
size_t AvailableSpace () const override
bool HasAvailableSpace () const override
void GetTotalBytesAndAvailableSpace (size_t &totalBytes, size_t &availableSpace) const override
size_t Purge () override
size_t Purge (IBufferChain::IHandlePurgedBufferRelease &purgeHandler, UserData userData) override
void Add (CSmartBuffer &buffer) override
CSmartBuffer GetNext (CSmartBuffer &buffer) override
CSmartBuffer GetNext () override
bool TryAdd (CSmartBuffer &buffer) override
CSmartBuffer TryGetNext (CSmartBuffer &buffer, bool &inserted) override
const IBuffer * PeekHead () const override
const IBuffer * PeekNext (const IBuffer *pBuffer) const override
IBuffer * PeekHead () override
IBuffer * PeekNext (const IBuffer *pBuffer) override
const IBuffer * PeekTail () const override
IBuffer * PeekTail () override
IBuffer * Detach () override
virtual size_t Purge (IHandlePurgedBufferRelease &purgeHandler, UserData userData)=0

Static Public Member Functions

static
IBuffer::SequenceNumber 
GetBufferSequenceNumber (const IBuffer &buffer)
static
IBuffer::SequenceNumber 
GetBufferOperationSequenceNumber (const IBuffer &buffer)

Static Public Attributes

static const
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex 
UseDefaultUserDataIndex = static_cast<JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex>(-1)

Static Protected Member Functions

static
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex 
GetNextBufferIndex (JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex)


Member Typedef Documentation

typedef IBuffer::SequenceNumber GetSequenceNumberFnc(const IBuffer &buffer)

typedef ULONG_PTR UserData [inherited]


Constructor & Destructor Documentation

CSortedBufferChain ( JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex  nextBufferIndex = UseDefaultUserDataIndex,
IBuffer::SequenceNumber  sequenceNumber = 0 
) [explicit]

CSortedBufferChain ( GetSequenceNumberFnc pGetSequenceNumber,
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex  nextBufferIndex = UseDefaultUserDataIndex,
IBuffer::SequenceNumber  sequenceNumber = 0 
) [explicit]

CSortedBufferChain ( const CSortedBufferChain rhs  ) 

~CSortedBufferChain (  )  [override]


Member Function Documentation

IBuffer::SequenceNumber GetBufferSequenceNumber ( const IBuffer &  buffer  )  [static]

IBuffer::SequenceNumber GetBufferOperationSequenceNumber ( const IBuffer &  buffer  )  [static]

CSortedBufferChain& operator= ( const CSortedBufferChain rhs  ) 

void SetInitialSequenceNumber ( IBuffer::SequenceNumber  sequenceNumber  ) 

void Reset (  ) 

bool CanGetNext (  )  const

size_t NumConsecutiveBuffers (  )  const

IBuffer::SequenceNumber GetNextSequenceNumber (  )  const

bool CanStoreNulls (  )  const [inline, override, virtual]

Implements IBufferChain.

bool IsEmpty (  )  const [override, virtual]

Implements IBufferChain.

size_t Size (  )  const [override, virtual]

Implements IBufferChain.

size_t TotalBytes (  )  const [override, virtual]

Implements IBufferChain.

size_t AvailableSpace (  )  const [override, virtual]

Implements IBufferChain.

bool HasAvailableSpace (  )  const [override, virtual]

Implements IBufferChain.

void GetTotalBytesAndAvailableSpace ( size_t &  totalBytes,
size_t &  availableSpace 
) const [override, virtual]

Implements IBufferChain.

size_t Purge (  )  [override, virtual]

Implements IBufferChain.

size_t Purge ( IBufferChain::IHandlePurgedBufferRelease purgeHandler,
UserData  userData 
) [override]

void Add ( CSmartBuffer buffer  )  [override, virtual]

Implements IBufferChain.

CSmartBuffer GetNext ( CSmartBuffer buffer  )  [override, virtual]

Implements IBufferChain.

CSmartBuffer GetNext (  )  [override, virtual]

Implements IBufferChain.

bool TryAdd ( CSmartBuffer buffer  )  [override, virtual]

Reimplemented from IBufferChain.

CSmartBuffer TryGetNext ( CSmartBuffer buffer,
bool inserted 
) [override, virtual]

Reimplemented from IBufferChain.

const IBuffer * PeekHead (  )  const [override, virtual]

const IBuffer * PeekNext ( const IBuffer *  pBuffer  )  const [override, virtual]

IBuffer * PeekHead (  )  [override, virtual]

IBuffer * PeekNext ( const IBuffer *  pBuffer  )  [override, virtual]

const IBuffer * PeekTail (  )  const [override, virtual]

IBuffer * PeekTail (  )  [override, virtual]

IBuffer * Detach (  )  [override, virtual]

virtual size_t Purge ( IHandlePurgedBufferRelease purgeHandler,
UserData  userData 
) [pure virtual, inherited]

static JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex GetNextBufferIndex ( JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex  nextBufferIndex  )  [static, protected, inherited]


Member Data Documentation


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