Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
Namespaces | Typedefs | Functions
shm_fwd.hpp File Reference
#include "ipc/transport/struc/shm/schema/common.capnp.h"
#include "ipc/transport/struc/struc_fwd.hpp"
#include "ipc/util/native_handle.hpp"
#include <flow/util/basic_blob.hpp>

Go to the source code of this file.

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::transport
 Flow-IPC module providing transmission of structured messages and/or low-level blobs (and more) between pairs of processes.
 
namespace  ipc::transport::struc
 Sub-module of Flow-IPC module ipc::transport providing transmission of structured messages specifically.
 
namespace  ipc::transport::struc::shm
 Segregates zero-copy/SHM implementations of concepts residing in parent namespace ipc::transport::struc proper – most notably the concepts ipc::transport::struc::Struct_builder and ipc::transport::struc::Struct_reader – and items related to them.
 
namespace  ipc::transport::struc::shm::stat
 Stats-related sub-namespace, for ADL segregation and general organization.
 

Typedefs

using ipc::transport::struc::shm::stat::Outer_serializer_stats = struc::stat::Serializer_stats_p< Outer_serializer_stats_cfg >
 Default-constructible Serializer_stats variant for the heap-side outer envelope of a SHM-backed message. More...
 
using ipc::transport::struc::shm::stat::Core_serializer_stats = struc::stat::Serializer_stats_p< Core_serializer_stats_cfg >
 Default-constructible Serializer_stats variant for the SHM-side payload of a SHM-backed message. More...
 
template<typename Arena >
using ipc::transport::struc::shm::stat::Outer_serializer_global_stats = flow::util::stat::Global_stats< Shm_msg_outer_tag< Arena >, Outer_serializer_stats, 1 >
 SHM-msg-outer (heap-side envelope) cumulative-Outer_serializer_stats singleton: convenience alias for the flow::util::stat::Global_stats instantiated with Shm_msg_outer_tag, per-Arena. More...
 
template<typename Arena >
using ipc::transport::struc::shm::stat::Core_serializer_global_stats = flow::util::stat::Global_stats< Arena, Core_serializer_stats, 1 >
 SHM-msg-inner (SHM-resident user payload) cumulative-Core_serializer_stats singleton: convenience alias for the flow::util::stat::Global_stats instantiated with the Arena type itself as tag. More...
 

Functions

template<typename Capnp_root_builder >
void ipc::transport::struc::shm::capnp_set_lent_shm_handle (Capnp_root_builder *shm_handle_root, const flow::util::Blob_sans_log_context &lend_result)
 Utility that saves the result of a Shm_session1::lend_object<T>(const shared_ptr<T>&) into the given capnp-generated struct's shmHandleSerialization :Data field – typically a ShmHandle-typed field in your schema. More...
 
template<typename Capnp_root_reader >
void ipc::transport::struc::shm::capnp_get_shm_handle_to_borrow (const Capnp_root_reader &shm_handle_root, flow::util::Blob_sans_log_context *arg_to_borrow)
 Utility that's the reverse of capnp_set_lent_shm_handle() to be invoked on the deserializing side. More...
 
template<typename Shm_arena >
std::ostream & ipc::transport::struc::shm::operator<< (std::ostream &os, const Builder< Shm_arena > &val)
 Prints string representation of the given Builder to the given ostream. More...
 
template<typename Shm_arena >
std::ostream & ipc::transport::struc::shm::operator<< (std::ostream &os, const Reader< Shm_arena > &val)
 Prints string representation of the given Reader to the given ostream. More...
 
template<typename Shm_arena >
std::ostream & ipc::transport::struc::shm::operator<< (std::ostream &os, const Capnp_message_builder< Shm_arena > &val)
 Prints string representation of the given Capnp_message_builder to the given ostream. More...
 
template<typename Shm_arena >
std::ostream & ipc::transport::struc::shm::operator<< (std::ostream &os, const Capnp_message_reader< Shm_arena > &val)
 Prints string representation of the given Capnp_message_reader to the given ostream. More...
 
template<typename Arena >
void ipc::transport::struc::shm::stat::serializer_info_dump (Serializer_info_dump *target_info_dump)
 Grabs a snapshot of everything in serializer global-land – for the given SHM-provider Arena – into *target_info_dump which can then be read/printed/aggregated at leisure. More...
 
std::ostream & ipc::transport::struc::shm::stat::operator<< (std::ostream &os, const Serializer_info_dump &val)
 Prints the entire Serializer_info_dump stats bundle to the given ostream, formatted per val.m_fmt (see Serializer_info_dump doc header). More...