Registry of free blocks.
More...
#include <tkrzw_dbm_hash_impl.h>
|
| | FreeBlockPool (int32_t capacity) |
| | Constructor.
|
| |
| void | SetCapacity (int32_t capacity) |
| | Sets the capacity.
|
| |
| void | Clear () |
| | Removes all records.
|
| |
| void | InsertFreeBlock (int64_t offset, int32_t size) |
| | Inserts a free block.
|
| |
| bool | FetchFreeBlock (int32_t min_size, FreeBlock *res) |
| | Fetchs the minimum free block meeting the record size to fit it in.
|
| |
| int32_t | Size () |
| | Gets the current number of free blocks.
|
| |
| std::string | Serialize (int32_t offset_width, int32_t align_pow, int32_t size) |
| | Serializes records into a string.
|
| |
| void | Deserialize (std::string_view str, int32_t offset_width, int32_t align_pow) |
| | Deserializes a string to set records.
|
| |
◆ FreeBlockPool()
| tkrzw::FreeBlockPool::FreeBlockPool |
( |
int32_t | capacity | ) |
|
Constructor.
- Parameters
-
| capacity | The capacity of the pool. |
◆ SetCapacity()
| void tkrzw::FreeBlockPool::SetCapacity |
( |
int32_t | capacity | ) |
|
Sets the capacity.
- Parameters
-
| capacity | The capacity of the pool. |
◆ Clear()
| void tkrzw::FreeBlockPool::Clear |
( |
| ) |
|
◆ InsertFreeBlock()
| void tkrzw::FreeBlockPool::InsertFreeBlock |
( |
int64_t | offset, |
|
|
int32_t | size ) |
Inserts a free block.
- Parameters
-
| offset | The offset in the file. |
| size | The size of the block |
◆ FetchFreeBlock()
| bool tkrzw::FreeBlockPool::FetchFreeBlock |
( |
int32_t | min_size, |
|
|
FreeBlock * | res ) |
Fetchs the minimum free block meeting the record size to fit it in.
- Parameters
-
| min_size | The minimum size of the block to fetch. |
| res | The pointer to a free block object to store the result. |
- Returns
- True on success or false on failure.
◆ Size()
| int32_t tkrzw::FreeBlockPool::Size |
( |
| ) |
|
Gets the current number of free blocks.
- Returns
- The current number of free blocks.
◆ Serialize()
| std::string tkrzw::FreeBlockPool::Serialize |
( |
int32_t | offset_width, |
|
|
int32_t | align_pow, |
|
|
int32_t | size ) |
Serializes records into a string.
- Parameters
-
| offset_width | The offset width. |
| align_pow | The alignment power. |
| size | The size of the result string. |
- Returns
- The result string.
◆ Deserialize()
| void tkrzw::FreeBlockPool::Deserialize |
( |
std::string_view | str, |
|
|
int32_t | offset_width, |
|
|
int32_t | align_pow ) |
Deserializes a string to set records.
- Parameters
-
| str | The string to deserialize. |
| offset_width | The offset width. |
| align_pow | The alignment power. |