Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
Classes | Namespaces
shm_session.hpp File Reference
#include "ipc/session/standalone/shm/arena_lend/jemalloc/jemalloc_fwd.hpp"
#include "ipc/session/standalone/shm/arena_lend/ipc_shm_message.capnp.h"
#include "ipc/session/standalone/shm/arena_lend/detail/borrower_shm_pool_collection_repository.hpp"
#include "ipc/session/standalone/shm/arena_lend/arena_lend_fwd.hpp"
#include "ipc/shm/arena_lend/jemalloc/ipc_arena.hpp"
#include "ipc/shm/arena_lend/jemalloc/stat_info_dump.hpp"
#include "ipc/shm/arena_lend/jemalloc/jemalloc_fwd.hpp"
#include "ipc/shm/arena_lend/owner_shm_pool_listener.hpp"
#include "ipc/shm/arena_lend/borrower_allocator_arena.hpp"
#include "ipc/shm/arena_lend/arena_lend_stats.hpp"
#include "ipc/shm/arena_lend/detail/thread_lcl_obj_db.hpp"
#include "ipc/shm/arena_lend/detail/obj_disposer.hpp"
#include "ipc/shm/arena_lend/detail/owner_shm_pool_repository.hpp"
#include "ipc/shm/stl/stateless_allocator.hpp"
#include "ipc/transport/struc/heap_serializer.hpp"
#include "ipc/transport/struc/channel.hpp"
#include "ipc/transport/struc/struc_fwd.hpp"
#include "ipc/util/util_fwd.hpp"
#include <flow/util/basic_blob.hpp>
#include <flow/util/util.hpp>
#include <flow/error/error.hpp>
#include <boost/utility.hpp>
#include <boost/unordered/unordered_map.hpp>
#include <boost/unordered/unordered_set.hpp>
#include <atomic>
#include <vector>
#include <optional>
#include <cstring>

Go to the source code of this file.

Classes

class  ipc::session::shm::arena_lend::jemalloc::Shm_session
 In SHM-jemalloc, a context between this process and a single (typically other) opposing process w/r/t lending (sharing) in-SHM objects from our Ipc_arenas to them, and their doing the same conversely. More...
 
struct  ipc::session::shm::arena_lend::jemalloc::Shm_session::Shm_object_handle
 A serialized object handle: a compact representation of an in-SHM object's location and lending metadata, transmitted as a blob via IPC. More...
 
class  ipc::session::shm::arena_lend::jemalloc::Shm_session::Shm_pool_listener_impl
 The Owner_shm_pool_listener impl object that we register within a particular Ipc_arena (Ipc_arena::add_shm_pool_listener()) when it is lent via lend_arena(). 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::session
 Flow-IPC module providing the broad lifecycle and shared-resource organization – via the session concept – in such a way as to make it possible for a given pair of processes A and B to set up ipc::transport structured- or unstructured-message channels for general IPC, as well as to share data in SHared Memory (SHM).
 
namespace  ipc::session::shm
 ipc::session sub-namespace that groups together facilities for SHM-backed sessions, particularly augmenting Client_session, Server_session, and Session_server classes by providing SHM-backed zero-copy functionality.
 
namespace  ipc::session::shm::arena_lend
 Bundles ipc::session::shm support for the various arena-lend-style SHM-providers, as of this writing at least ipc::session::shm::arena_lend::jemalloc.
 
namespace  ipc::session::shm::arena_lend::jemalloc
 Support for SHM-backed ipc::session sessions and session-servers with the SHM-jemalloc (ipc::shm::arena_lend::jemalloc) provider.