Flow-IPC 1.0.0
Flow-IPC project: Full implementation reference.
Namespaces | Typedefs | Functions
struc_fwd.hpp File Reference
#include "ipc/transport/transport_fwd.hpp"
#include <flow/util/blob.hpp>
#include <capnp/message.h>
#include <boost/uuid/uuid.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::sync_io
 sync_io-pattern counterparts to async-I/O-pattern object types in parent namespace ipc::transport::struc.
 
namespace  capnp
 Small group of miscellaneous utilities to ease work with capnp (Cap'n Proto), joining its capnp namespace.
 

Typedefs

using ipc::transport::struc::Capnp_msg_builder_interface = ::capnp::MessageBuilder
 Alias for capnp's MessageBuilder interface. Rationale: as part of our API, we use our identifier style. More...
 
using ipc::transport::struc::Session_token = boost::uuids::uuid
 A type used by struc::Channel for internal safety/security/auth needs. More...
 
using ipc::transport::struc::Segment_ptrs = std::vector< flow::util::Blob * >
 Sequence of 1+ Blob pointers to blobs which must stay alive while these pointers may be dereferenced, intended here to refer to a capnp serialization of a capnp-struct. More...
 
using ipc::transport::struc::msg_id_t = uint64_t
 Message ID uniquely identifying outgoing message (Msg_out, among all other Msg_outs), per channel; and similarly incoming message (Msg_in, among Msg_ins), per channel. More...
 

Functions

template<typename Channel_obj , typename Message_body , typename Struct_builder_config , typename Struct_reader_config >
std::ostream & ipc::transport::struc::operator<< (std::ostream &os, const Channel< Channel_obj, Message_body, Struct_builder_config, Struct_reader_config > &val)
 Prints string representation of the given struc::Channel to the given ostream. More...
 
template<typename Message_body , typename Struct_builder_t >
std::ostream & ipc::transport::struc::operator<< (std::ostream &os, const Msg_out< Message_body, Struct_builder_t > &val)
 Prints string representation of the given Msg_out to the given ostream. More...
 
template<typename Message_body , typename Struct_reader_config >
std::ostream & ipc::transport::struc::operator<< (std::ostream &os, const Msg_in< Message_body, Struct_reader_config > &val)
 Prints string representation of the given Msg_in to the given ostream. More...
 
std::ostream & ipc::transport::struc::operator<< (std::ostream &os, const Heap_fixed_builder &val)
 Prints string representation of the given Heap_fixed_builder to the given ostream. More...
 
std::ostream & ipc::transport::struc::operator<< (std::ostream &os, const Heap_reader &val)
 Prints string representation of the given Heap_reader to the given ostream. More...
 
template<typename Channel_obj , typename Message_body , typename Struct_builder_config , typename Struct_reader_config >
std::ostream & ipc::transport::struc::sync_io::operator<< (std::ostream &os, const Channel< Channel_obj, Message_body, Struct_builder_config, Struct_reader_config > &val)
 Prints string representation of the given struc::sync_io::Channel to the given ostream. More...
 
std::ostream & capnp::operator<< (std::ostream &os, const Text::Reader &val)
 Prints string representation of the given capnp::Text::Reader to the given ostream. More...