Class RecyclingByteBlockAllocator
A ByteBlockPool.Allocator implementation that recycles unused byte blocks in a buffer and reuses them in subsequent calls to GetByteBlock().
Note: this class is not thread-safe.
Inherited Members
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
public sealed class RecyclingByteBlockAllocator : ByteBlockPool.AllocatorConstructors
| Improve this Doc View SourceRecyclingByteBlockAllocator()
Creates a new RecyclingByteBlockAllocator with a block size of BYTE_BLOCK_SIZE, upper buffered docs limit of DEFAULT_BUFFERED_BLOCKS (64).
Declaration
public RecyclingByteBlockAllocator()RecyclingByteBlockAllocator(Int32, Int32)
Creates a new RecyclingByteBlockAllocator.
Declaration
public RecyclingByteBlockAllocator(int blockSize, int maxBufferedBlocks)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | blockSize | The block size in bytes. | 
| System.Int32 | maxBufferedBlocks | Maximum number of buffered byte block. | 
RecyclingByteBlockAllocator(Int32, Int32, Counter)
Creates a new RecyclingByteBlockAllocator
Declaration
public RecyclingByteBlockAllocator(int blockSize, int maxBufferedBlocks, Counter bytesUsed)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | blockSize | The block size in bytes. | 
| System.Int32 | maxBufferedBlocks | Maximum number of buffered byte block. | 
| Counter | bytesUsed | Counter reference counting internally allocated bytes. | 
Fields
| Improve this Doc View SourceDEFAULT_BUFFERED_BLOCKS
Declaration
public const int DEFAULT_BUFFERED_BLOCKS = 64Field Value
| Type | Description | 
|---|---|
| System.Int32 | 
Properties
| Improve this Doc View SourceBytesUsed
Declaration
public long BytesUsed { get; }Property Value
| Type | Description | 
|---|---|
| System.Int64 | The number of bytes currently allocated by this ByteBlockPool.Allocator. | 
MaxBufferedBlocks
Declaration
public int MaxBufferedBlocks { get; }Property Value
| Type | Description | 
|---|---|
| System.Int32 | The maximum number of buffered byte blocks. | 
NumBufferedBlocks
Declaration
public int NumBufferedBlocks { get; }Property Value
| Type | Description | 
|---|---|
| System.Int32 | The number of currently buffered blocks. | 
Methods
| Improve this Doc View SourceFreeBlocks(Int32)
Removes the given number of byte blocks from the buffer if possible.
Declaration
public int FreeBlocks(int num)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | num | The number of byte blocks to remove. | 
Returns
| Type | Description | 
|---|---|
| System.Int32 | The number of actually removed buffers. | 
GetByteBlock()
Declaration
public override byte[] GetByteBlock()Returns
| Type | Description | 
|---|---|
| System.Byte[] | 
Overrides
| Improve this Doc View SourceRecycleByteBlocks(Byte[][], Int32, Int32)
Declaration
public override void RecycleByteBlocks(byte[][] blocks, int start, int end)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Byte[][] | blocks | |
| System.Int32 | start | |
| System.Int32 | end |