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

CBufferChainStoresNulls Class Reference

Inheritance diagram for CBufferChainStoresNulls:
Collaboration diagram for CBufferChainStoresNulls:

List of all members.

Public Types

typedef BYTE NullBufferCount
typedef ULONG_PTR UserData

Public Member Functions

 CBufferChainStoresNulls (JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex=UseDefaultUserDataIndex)
 CBufferChainStoresNulls (IAllocateBuffer &bufferAllocator, JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex=UseDefaultUserDataIndex)
 CBufferChainStoresNulls (CBufferChainStoresNulls &&rhs) noexcept
 CBufferChainStoresNulls (const CBufferChainStoresNulls &rhs)
 ~CBufferChainStoresNulls () override
CBufferChainStoresNullsoperator= (const CBufferChainStoresNulls &rhs)
JetByteTools::Core::_tstring Dump () const
void Swap (CBufferChainStoresNulls &rhs)
 Swaps the current chain with 'rhs'.
IBuffer * Detach ()
void Attach (IBuffer *pChain)
 Attaches pBuffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer's existing reference.
void Attach (CSmartBuffer &buffer)
 Attaches buffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer and extracts it from the smart buffer.
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
void AddToFront (CSmartBuffer &buffer) override
CSmartBuffer GetNext (CSmartBuffer &buffer) override
CSmartBuffer GetNext () override
const IBuffer * PeekTail () const
CSmartBuffer GetTail ()
virtual size_t Purge (IHandlePurgedBufferRelease &purgeHandler, UserData userData)=0
virtual bool TryAdd (CSmartBuffer &buffer)
virtual CSmartBuffer TryGetNext (CSmartBuffer &buffer, bool &inserted)

Static Public Attributes

static const size_t MaxNullBuffersBetweenBuffers = IBuffer::GetCounterMask()
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 ULONG_PTR UserData [inherited]


Constructor & Destructor Documentation

~CBufferChainStoresNulls (  )  [override]


Member Function Documentation

CBufferChainStoresNulls& operator= ( const CBufferChainStoresNulls rhs  ) 

_tstring Dump (  )  const

void Swap ( CBufferChainStoresNulls rhs  ) 

Swaps the current chain with 'rhs'.

IBuffer * Detach (  ) 

void Attach ( IBuffer *  pChain  ) 

Attaches pBuffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer's existing reference.

void Attach ( CSmartBuffer buffer  ) 

Attaches buffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer and extracts it from the smart buffer.

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.

void AddToFront ( CSmartBuffer buffer  )  [override, virtual]

Implements IUnsortedBufferChain.

CSmartBuffer GetNext ( CSmartBuffer buffer  )  [override, virtual]

Implements IBufferChain.

CSmartBuffer GetNext (  )  [override, virtual]

Implements IBufferChain.

const IBuffer * PeekTail (  )  const

CSmartBuffer GetTail (  ) 

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

virtual bool TryAdd ( CSmartBuffer buffer  )  [inline, virtual, inherited]

Reimplemented in CSortedBufferChain.

virtual CSmartBuffer TryGetNext ( CSmartBuffer buffer,
bool inserted 
) [inline, virtual, inherited]

Reimplemented in CSortedBufferChain.

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


Member Data Documentation

const size_t MaxNullBuffersBetweenBuffers = IBuffer::GetCounterMask() [static]


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