29#include <flow/util/blob.hpp>
30#include <capnp/message.h>
31#include <boost/uuid/uuid.hpp>
51template<
typename Message_body,
typename Struct_builder_config>
53template<
typename Message_body,
typename Struct_reader_config>
57template<
typename Channel_obj,
typename Message_body,
58 typename Struct_builder_config,
typename Struct_reader_config>
61class Heap_fixed_builder;
168template<
typename Channel_obj,
typename Message_body,
169 typename Struct_builder_config,
typename Struct_reader_config>
171 const Channel<Channel_obj, Message_body,
172 Struct_builder_config, Struct_reader_config>& val);
186template<
typename Message_body,
typename Struct_builder_t>
200template<
typename Message_body,
typename Struct_reader_config>
242template<
typename Channel_obj,
typename Message_body,
243 typename Struct_builder_config,
typename Struct_reader_config>
259template<
typename Channel_obj,
typename Message_body,
260 typename Struct_builder_config,
typename Struct_reader_config>
262 const Channel<Channel_obj, Message_body,
263 Struct_builder_config, Struct_reader_config>& val);
Owning and wrapping a pre-connected transport::Channel peer (an endpoint of an established channel ov...
std::ostream & 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.
typename Sync_io_obj::Msg_in Msg_in
Encapsulation of any in-message instance received by a *this of this type.
typename Sync_io_obj::Msg_out Msg_out
Encapsulation of any out-message payload sent or meant to be sent via send() (et al) by a *this of th...
Implements Struct_builder concept by straightforwardly allocating fixed-size segments on-demand in th...
Implements Struct_reader concept by straightforwardly interpreting a serialization by Heap_fixed_buil...
sync_io-pattern counterpart to async-I/O-pattern transport::struc::Channel.
Small group of miscellaneous utilities to ease work with capnp (Cap'n Proto), joining its capnp names...
std::ostream & operator<<(std::ostream &os, const Text::Reader &val)
Prints string representation of the given capnp::Text::Reader to the given ostream.
struc::Channel< Channel_obj, Message_body, Builder::Config, Reader::Config > Channel
Convenience alias: Use this when constructing a struc::Channel with tag Channel_base::S_SERIALIZE_VIA...
Reader< ipc::shm::classic::Pool_arena > Reader
Convenience alias: transport::struc::shm::Reader that works with boost.ipc.shm pools from ipc::shm::c...
sync_io-pattern counterparts to async-I/O-pattern object types in parent namespace ipc::transport::st...
std::ostream & 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.
Sub-module of Flow-IPC module ipc::transport providing transmission of structured messages specifical...
boost::uuids::uuid Session_token
A type used by struc::Channel for internal safety/security/auth needs.
std::vector< flow::util::Blob * > Segment_ptrs
Sequence of 1+ Blob pointers to blobs which must stay alive while these pointers may be dereferenced,...
const Null_session NULL_SESSION
The only necessary value of empty-type Null_session.
const Session_token NULL_SESSION_TOKEN
A value for which .is_nil() is true.
std::ostream & operator<<(std::ostream &os, const Heap_fixed_builder &val)
Prints string representation of the given Heap_fixed_builder to the given ostream.
uint64_t msg_id_t
Message ID uniquely identifying outgoing message (Msg_out, among all other Msg_outs),...
Value for Struct_builder::Session when no extra information is needed when serializing Struct_builder...