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

CBufferBasedBufferAllocator Class Reference
[I/O Buffers]

Inheritance diagram for CBufferBasedBufferAllocator:
Collaboration diagram for CBufferBasedBufferAllocator:

List of all members.

Public Types

typedef
IBuffer::BufferSize 
BufferSize

Public Member Functions

 CBufferBasedBufferAllocator (IBuffer &buffer)
 CBufferBasedBufferAllocator (const CBufferBasedBufferAllocator &rhs)
CBufferBasedBufferAllocatoroperator= (const CBufferBasedBufferAllocator &rhs)
CSmartBuffer Allocate () override
 Allocate an instance of IBuffer, remember to call Release() on it when you're done with it.
CSmartBuffer AllocateCustomSizedBuffer (const BufferSize bufferSize) override
void AllocateBuffers (size_t numBuffers, CBufferChain &chain) override
void AllocateBuffersForBytes (const size_t numBytes, CBufferChain &chain) override
BufferSize GetBufferSize () const override
 Returns the size of the buffers that are allocated by this allocator.
bool Flush () override
 Flushes the allocator. Use with care as this forces active buffers to be released and destroyed! Generally only called as part of process cleanup and even then only to aid in buffer leak tracking.
CSmartBuffer AllocateCustomSizedBuffer (BufferSize bufferSize) override=0
 Creates a buffer that is a specific size rather than the size that the allocator usually creates. These buffers are currently NOT pooled and are deleted when the last reference is released.

Static Public Attributes

static const
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex 
DefaultBufferChainIndex = 0
static const
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex 
NumberOfDefaultUserDataSlots = 1

Static Protected Member Functions

static void AllocateDefaultUserDataIndices (JetByteTools::Core::IProvideUserData &dataProvider)


Member Typedef Documentation

typedef IBuffer::BufferSize BufferSize [inherited]


Constructor & Destructor Documentation

CBufferBasedBufferAllocator ( IBuffer &  buffer  )  [inline, explicit]


Member Function Documentation

CBufferBasedBufferAllocator& operator= ( const CBufferBasedBufferAllocator rhs  ) 

CSmartBuffer Allocate (  )  [inline, override, virtual]

Allocate an instance of IBuffer, remember to call Release() on it when you're done with it.

Implements IAllocateBuffers.

CSmartBuffer AllocateCustomSizedBuffer ( const BufferSize  bufferSize  )  [inline, override]

void AllocateBuffers ( size_t  numBuffers,
CBufferChain chain 
) [inline, override, virtual]

Implements IAllocateBuffers.

void AllocateBuffersForBytes ( const size_t  numBytes,
CBufferChain chain 
) [inline, override, virtual]

Implements IAllocateBuffers.

BufferSize GetBufferSize (  )  const [inline, override, virtual]

Returns the size of the buffers that are allocated by this allocator.

Implements IAllocateBuffers.

bool Flush (  )  [inline, override, virtual]

Flushes the allocator. Use with care as this forces active buffers to be released and destroyed! Generally only called as part of process cleanup and even then only to aid in buffer leak tracking.

Implements IAllocateBuffers.

CSmartBuffer AllocateCustomSizedBuffer ( BufferSize  bufferSize  )  [override, pure virtual, inherited]

Creates a buffer that is a specific size rather than the size that the allocator usually creates. These buffers are currently NOT pooled and are deleted when the last reference is released.

Implements IAllocateBuffer.

static void AllocateDefaultUserDataIndices ( JetByteTools::Core::IProvideUserData dataProvider  )  [static, protected, inherited]


Member Data Documentation


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