Flow-IPC 1.0.1
Flow-IPC project: Public API.
Namespaces | Typedefs | Functions
session_fwd.hpp File Reference

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::sync_io
 sync_io-pattern counterparts to async-I/O-pattern object types in parent namespace ipc::session.
 

Typedefs

using ipc::session::Shared_name = util::Shared_name
 Convenience alias for the commonly used type util::Shared_name.
 
using ipc::session::Session_token = transport::struc::Session_token
 Convenience alias for the commonly used type transport::struc::Session_token.
 
template<schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload = ::capnp::Void>
using ipc::session::Server_session = Server_session_mv< Server_session_impl< S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload > >
 A vanilla Server_session with no optional capabilities. More...
 
template<schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload = ::capnp::Void>
using ipc::session::Client_session = Client_session_mv< Client_session_impl< S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload > >
 A vanilla Client_session with no optional capabilities. More...
 

Functions

void ipc::session::ensure_resource_owner_is_app (flow::log::Logger *logger_ptr, const fs::path &path, const App &app, Error_code *err_code=0)
 Utility, used internally but exposed in public API in case it is of general use, that checks that the owner of the given resource (at the supplied file system path) is as specified in the given App (App::m_user_id et al). More...
 
void ipc::session::ensure_resource_owner_is_app (flow::log::Logger *logger_ptr, util::Native_handle handle, const App &app, Error_code *err_code=0)
 Identical to the other ensure_resource_owner_is_app() overload but operates on a pre-opened Native_handle (a/k/a handle, socket, file descriptor) to the resource in question. More...
 
std::ostream & ipc::session::operator<< (std::ostream &os, const App &val)
 Prints string representation of the given App to the given ostream. More...
 
std::ostream & ipc::session::operator<< (std::ostream &os, const Client_app &val)
 Prints string representation of the given Client_appp to the given ostream. More...
 
std::ostream & ipc::session::operator<< (std::ostream &os, const Server_app &val)
 Prints string representation of the given Server_app to the given ostream. More...
 
template<typename Session_impl_t >
std::ostream & ipc::session::operator<< (std::ostream &os, const Session_mv< Session_impl_t > &val)
 Prints string representation of the given Session_mv to the given ostream. More...
 
template<typename Server_session_impl_t >
std::ostream & ipc::session::operator<< (std::ostream &os, const Server_session_mv< Server_session_impl_t > &val)
 Prints string representation of the given Server_session_mv to the given ostream. More...
 
template<typename Client_session_impl_t >
std::ostream & ipc::session::operator<< (std::ostream &os, const Client_session_mv< Client_session_impl_t > &val)
 Prints string representation of the given Client_session_mv to the given ostream. More...
 
template<schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload >
std::ostream & ipc::session::operator<< (std::ostream &os, const Session_server< S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload > &val)
 Prints string representation of the given Session_server to the given ostream. More...
 
template<typename Session >
std::ostream & ipc::session::sync_io::operator<< (std::ostream &os, const Server_session_adapter< Session > &val)
 Prints string representation of the given Server_session_adapter to the given ostream. More...
 
template<typename Session >
std::ostream & ipc::session::sync_io::operator<< (std::ostream &os, const Client_session_adapter< Session > &val)
 Prints string representation of the given Client_session_adapter to the given ostream. More...
 
template<typename Session_server >
std::ostream & ipc::session::sync_io::operator<< (std::ostream &os, const Session_server_adapter< Session_server > &val)
 Prints string representation of the given Session_server_adapter to the given ostream. More...