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

IManageBufferLifeCycle Class Reference
[InterfacesI/O BuffersProtected destructors on abstract base classes]

Inheritance diagram for IManageBufferLifeCycle:
Collaboration diagram for IManageBufferLifeCycle:

List of all members.


Detailed Description

A helper interface to remove a friend relationship between buffers and their allocators...

Public Member Functions

virtual
IBuffer::BufferSize 
GetBufferSize () const =0
CSmartBuffer Allocate () override=0
 Allocate an instance of IBuffer, remember to call Release() on it when you're done with it.
CSmartBuffer AllocateCustomSizedBuffer (IBuffer::BufferSize bufferSize) override=0
virtual void Release (IBuffer *pBuffer)=0
virtual void OnBufferAddedToPool (IBuffer &buffer)=0
virtual void OnBufferRemovedFromPool (IBuffer &buffer)=0

Protected Member Functions

 ~IManageBufferLifeCycle () override
 We never delete instances of this interface; you must manage the lifetime of the class that implements it.

Constructor & Destructor Documentation

~IManageBufferLifeCycle (  )  [override, protected]

We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Function Documentation

virtual IBuffer::BufferSize GetBufferSize (  )  const [pure virtual]

CSmartBuffer Allocate (  )  [override, pure virtual]

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

Implements IAllocateBuffer.

Implemented in CBufferAllocator, and CBufferHandleAllocator.

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

Implements IAllocateBuffer.

Implemented in CBufferHandleAllocator.

virtual void Release ( IBuffer *  pBuffer  )  [pure virtual]

virtual void OnBufferAddedToPool ( IBuffer &  buffer  )  [pure virtual]

virtual void OnBufferRemovedFromPool ( IBuffer &  buffer  )  [pure virtual]


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