Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
Classes | Namespaces
owner_shm_pool_repository.hpp File Reference
#include "ipc/shm/arena_lend/detail/thread_lcl_pool_lookup.hpp"
#include "ipc/shm/arena_lend/detail/arena_lend_fwd.hpp"
#include "ipc/shm/arena_lend/shm_pool.hpp"
#include <flow/util/thread_lcl_obj.hpp>
#include <flow/util/util.hpp>
#include <boost/container/flat_map.hpp>
#include <boost/unordered/unordered_flat_map.hpp>
#include <map>
#include <memory>
#include <vector>
#include <type_traits>

Go to the source code of this file.

Classes

class  ipc::shm::arena_lend::detail::Shm_pool_repo_lookup_core_rev< Repository_t, LOOKUP_CAN_FAIL, Shm_arena_t >
 Helper singleton for each of at least the 2 essential central flat SHM-pool repositories (Owner_shm_pool_repository, Borrower_shm_pool_collection_repository), Shm_pool_repo_lookup_core_rev<R> (where R is a repo type) encapsulates R's central flat set of SHM-pool IDs and base-vaddrs and, therein, a performant multi-threaded reverse-lookup from vaddr to the containing SHM-pool's ID and offset in bytes from the pool-base vaddr. More...
 
class  ipc::shm::arena_lend::detail::Owner_shm_pool_repository< Shm_arena_t >
 Singleton repository for SHM-pool data pertaining to all SHM-arenas owned by this process. 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.