Hermes
0.9.5-beta
Hierarchical Distributed I/O Buffering System
|
Go to the source code of this file.
Namespaces | |
hermes | |
Functions | |
ptrdiff_t | hermes::InitBufferPool (u8 *shmem_base, Arena *buffer_pool_arena, Arena *scratch_arena, i32 node_id, Config *config) |
BufferPool * | hermes::GetBufferPoolFromContext (SharedMemoryContext *context) |
Device * | hermes::GetDeviceById (SharedMemoryContext *context, DeviceID device_id) |
BufferHeader * | hermes::GetHeadersBase (SharedMemoryContext *context) |
BufferHeader * | hermes::GetHeaderByBufferId (SharedMemoryContext *context, BufferID id) |
bool | hermes::HeaderIsDormant (BufferHeader *header) |
void | hermes::SplitRamBufferFreeList (SharedMemoryContext *context, int slab_index) |
void | hermes::MergeRamBufferFreeList (SharedMemoryContext *context, int slab_index) |
BufferID | hermes::PeekFirstFreeBufferId (SharedMemoryContext *context, DeviceID device_id, int slab_index) |
void | hermes::LocalReleaseBuffer (SharedMemoryContext *context, BufferID buffer_id) |
void | hermes::LocalReleaseBuffers (SharedMemoryContext *context, const std::vector< BufferID > &buffer_ids) |
i32 | hermes::GetSlabUnitSize (SharedMemoryContext *context, DeviceID device_id, int slab_index) |
u32 | hermes::LocalGetBufferSize (SharedMemoryContext *context, BufferID id) |
i32 | hermes::GetSlabBufferSize (SharedMemoryContext *context, DeviceID device_id, int slab_index) |
void | hermes::SerializeBufferPoolToFile (SharedMemoryContext *context, FILE *file) |
void | hermes::ParseConfig (Arena *arena, const char *path, Config *config) |
u8 * | hermes::InitSharedMemory (const char *shmem_name, size_t total_size) |
u8 * | hermes::GetRamBufferPtr (SharedMemoryContext *context, BufferID buffer_id) |
Target * | hermes::GetTarget (SharedMemoryContext *context, int index) |
Target * | hermes::GetTargetFromId (SharedMemoryContext *context, TargetID id) |
std::atomic< u32 > * | hermes::GetAvailableBuffersArray (SharedMemoryContext *context, DeviceID device_id) |
This file contains the developer interface to the BufferPool. It describes the API available to direct consumers of the BufferPool which include buffer pool tests, the buffer pool visualizer, and the BufferPool itself. For the "public" API, see buffer_pool.h.