Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
Classes | Namespaces
thread_lcl_pool_lookup.hpp File Reference
#include "ipc/shm/arena_lend/detail/arena_lend_fwd.hpp"
#include "ipc/shm/arena_lend/shm_pool.hpp"
#include "ipc/shm/arena_lend/arena_lend_stats.hpp"
#include <flow/util/thread_lcl.hpp>
#include <flow/util/util.hpp>
#include <flow/util/stat/stat_set_list.hpp>
#include <flow/util/stat/stat_set.hpp>
#include <boost/container/flat_map.hpp>
#include <boost/unordered/unordered_flat_map.hpp>
#include <type_traits>
#include <cstdint>

Go to the source code of this file.

Classes

struct  ipc::shm::arena_lend::detail::Pool_by_base
 Value type in the reverse-lookup map: identifies the pool and, when LOOKUP_CAN_FAIL is true for the containing lookup structure, also carries the pool size so that a range-check can determine whether a given vaddr actually falls inside the pool (as opposed to merely being above its base). More...
 
class  ipc::shm::arena_lend::detail::Pool_lookup_global_stats< Shm_arena_t, OWNER_ELSE_BORROWER >
 Global stats singleton for either Owner_pool_lookup_global_stats or Borrower_pool_lookup_global_stats, per SHM-provider (as identified by Shm_arena type). More...
 
class  ipc::shm::arena_lend::detail::Thread_local_pool_lookup_rev< Repository_t, LOOKUP_CAN_FAIL, Shm_arena_t >
 Thread_local_pool_lookup_rev<R>.s_registry, where R is a distinct pool-repository type, enables high-perf reverse-lookup from a vaddr to the containing SHM-pool's ID and offset in bytes from the pool-base vaddr. More...
 
class  ipc::shm::arena_lend::detail::Thread_local_pool_lookup_fwd< Repository_t, Shm_arena_t >
 Analogous to Thread_local_pool_lookup_rev but for forward lookup: pool ID -> base vaddr. More...
 

Namespaces

namespace  ipc
 Catch-all namespace for the Flow-IPC project: A library/API in modern C++17 providing high-performance communication between processes.
 
namespace  ipc::shm
 Modules for SHared Memory (SHM) support.
 
namespace  ipc::shm::arena_lend
 ipc::shm sub-module providing the SHM-provider family based on the arena-lending paradigm: each process allocates in its own arena(s), lending the resulting objects to other processes, which can read them but not allocate (nor deallocate) in that arena.
 
namespace  ipc::shm::arena_lend::detail
 Segregated private stuff for ipc::shm::arena_lend.