Flow-IPC 1.0.0
Flow-IPC project: Full implementation reference.
Namespaces | Typedefs | Functions
transport_fwd.hpp File Reference
#include "ipc/util/shared_name_fwd.hpp"
#include "ipc/util/native_handle.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::sync_io
 sync_io-pattern counterparts to async-I/O-pattern object types in parent namespace ipc::transport.
 

Typedefs

using ipc::transport::Native_handle = util::Native_handle
 Convenience alias for the commonly used type util::Native_handle. More...
 
using ipc::transport::Shared_name = util::Shared_name
 Convenience alias for the commonly used type util::Shared_name. More...
 
using ipc::transport::Posix_mq_sender = Blob_stream_mq_sender< Posix_mq_handle >
 Convenience alias: Blob_sender via unidirectional POSIX MQ (message queue). More...
 
using ipc::transport::Posix_mq_receiver = Blob_stream_mq_receiver< Posix_mq_handle >
 Convenience alias: Blob_receiver via unidirectional POSIX MQ (message queue). More...
 
using ipc::transport::Bipc_mq_sender = Blob_stream_mq_sender< Bipc_mq_handle >
 Convenience alias: Blob_sender via unidirectional bipc MQ (message queue). More...
 
using ipc::transport::Bipc_mq_receiver = Blob_stream_mq_receiver< Bipc_mq_handle >
 Convenience alias: Blob_receiver via unidirectional bipc MQ (message queue). More...
 
using ipc::transport::Posix_mqs_channel_of_blobs = Mqs_channel< false, Posix_mq_handle >
 Convenience alias: Channel peer (Blob_sender, Blob_receiver) at one end of full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional POSIX MQs (message queues). More...
 
using ipc::transport::Bipc_mqs_channel_of_blobs = Mqs_channel< false, Bipc_mq_handle >
 Convenience alias: Channel peer (Blob_sender, Blob_receiver) at one end of full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional POSIX MQs (message queues). More...
 
using ipc::transport::Posix_mqs_socket_stream_channel = Mqs_socket_stream_channel< false, Posix_mq_handle >
 Convenience alias: Channel peer (Blob_sender, Blob_receiver, Native_handle_sender, Native_handle_receiver) at one end of a full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional POSIX MQs (message queues), transmitting blobs only; and a full-duplex pipe over a Unix domain stream connection, transmitting native-handle-and/or-meta-blob messages. More...
 
using ipc::transport::Bipc_mqs_socket_stream_channel = Mqs_socket_stream_channel< false, Bipc_mq_handle >
 Convenience alias: Channel peer (Blob_sender, Blob_receiver, Native_handle_sender, Native_handle_receiver) at one end of a full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional bipc MQs (message queues), transmitting blobs only; and a full-duplex pipe over a Unix domain stream connection, transmitting native-handle-and/or-meta-blob messages. More...
 
using ipc::transport::sync_io::Posix_mq_sender = Blob_stream_mq_sender< Posix_mq_handle >
 Convenience alias: sync_io::Blob_sender via unidirectional POSIX MQ (message queue). More...
 
using ipc::transport::sync_io::Posix_mq_receiver = Blob_stream_mq_receiver< Posix_mq_handle >
 Convenience alias: sync_io::Blob_receiver via unidirectional POSIX MQ (message queue). More...
 
using ipc::transport::sync_io::Bipc_mq_sender = Blob_stream_mq_sender< Bipc_mq_handle >
 Convenience alias: sync_io::Blob_sender via unidirectional bipc MQ (message queue). More...
 
using ipc::transport::sync_io::Bipc_mq_receiver = Blob_stream_mq_receiver< Bipc_mq_handle >
 Convenience alias: sync_io::Blob_receiver via unidirectional bipc MQ (message queue). More...
 
using ipc::transport::sync_io::Posix_mqs_channel_of_blobs = transport::Mqs_channel< true, Posix_mq_handle >
 Convenience alias: Channel peer (sync_io::Blob_sender, sync_io::Blob_receiver) at one end of full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional POSIX MQs (message queues). More...
 
using ipc::transport::sync_io::Bipc_mqs_channel_of_blobs = transport::Mqs_channel< true, Bipc_mq_handle >
 Convenience alias: Channel peer (sync_io::Blob_sender, sync_io::Blob_receiver) at one end of full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional POSIX MQs (message queues). More...
 
using ipc::transport::sync_io::Posix_mqs_socket_stream_channel = Mqs_socket_stream_channel< true, Posix_mq_handle >
 Convenience alias: Channel peer (sync_io::Blob_sender, sync_io::Blob_receiver, sync_io::Native_handle_sender, sync_io::Native_handle_receiver) at one end of a full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional POSIX MQs (message queues), transmitting blobs only; and a full-duplex pipe over a Unix domain stream connection, transmitting native-handle-and/or-meta-blob messages. More...
 
using ipc::transport::sync_io::Bipc_mqs_socket_stream_channel = Mqs_socket_stream_channel< true, Bipc_mq_handle >
 Convenience alias: Channel peer (sync_io::Blob_sender, sync_io::Blob_receiver, sync_io::Native_handle_sender, sync_io::Native_handle_receiver) at one end of a full-duplex (bidirectional) pipe composed of 2 opposite-facing unidirectional bipc MQs (message queues), transmitting blobs only; and a full-duplex pipe over a Unix domain stream connection, transmitting native-handle-and/or-meta-blob messages. More...
 

Functions

std::ostream & ipc::transport::operator<< (std::ostream &os, const Native_socket_stream &val)
 Prints string representation of the given Native_socket_stream to the given ostream. More...
 
std::ostream & ipc::transport::operator<< (std::ostream &os, const Native_socket_stream_acceptor &val)
 Prints string representation of the given Native_socket_stream_acceptor to the given ostream. More...
 
template<typename Persistent_mq_handle >
std::ostream & ipc::transport::operator<< (std::ostream &os, const Blob_stream_mq_receiver< Persistent_mq_handle > &val)
 Prints string representation of the given Blob_stream_mq_receiver to the given ostream. More...
 
template<typename Persistent_mq_handle >
std::ostream & ipc::transport::operator<< (std::ostream &os, const Blob_stream_mq_sender< Persistent_mq_handle > &val)
 Prints string representation of the given Blob_stream_mq_sender to the given ostream. More...
 
std::ostream & ipc::transport::operator<< (std::ostream &os, const Bipc_mq_handle &val)
 Prints string representation of the given Bipc_mq_handle to the given ostream. More...
 
std::ostream & ipc::transport::operator<< (std::ostream &os, const Posix_mq_handle &val)
 Prints string representation of the given Posix_mq_handle to the given ostream. More...
 
template<typename Blob_sender , typename Blob_receiver , typename Native_handle_sender , typename Native_handle_receiver >
std::ostream & ipc::transport::operator<< (std::ostream &os, const Channel< Blob_sender, Blob_receiver, Native_handle_sender, Native_handle_receiver > &val)
 Prints string representation of the given Channel to the given ostream. More...
 
std::ostream & ipc::transport::operator<< (std::ostream &os, const Null_peer &val)
 Dummy that is never invoked. More...
 
void ipc::transport::swap (Bipc_mq_handle &val1, Bipc_mq_handle &val2)
 Implements Persistent_mq_handle related concept: Swaps two objects. More...
 
void ipc::transport::swap (Posix_mq_handle &val1, Posix_mq_handle &val2)
 Implements Persistent_mq_handle related concept: Swaps two objects. More...
 
std::ostream & ipc::transport::sync_io::operator<< (std::ostream &os, const Native_socket_stream &val)
 Prints string representation of the given Native_socket_stream to the given ostream. More...
 
std::ostream & ipc::transport::sync_io::operator<< (std::ostream &os, const Native_socket_stream_acceptor &val)
 Prints string representation of the given Native_socket_stream_acceptor to the given ostream. More...
 
template<typename Persistent_mq_handle >
std::ostream & ipc::transport::sync_io::operator<< (std::ostream &os, const Blob_stream_mq_sender< Persistent_mq_handle > &val)
 Prints string representation of the given Blob_stream_mq_sender to the given ostream. More...
 
template<typename Persistent_mq_handle >
std::ostream & ipc::transport::sync_io::operator<< (std::ostream &os, const Blob_stream_mq_receiver< Persistent_mq_handle > &val)
 Prints string representation of the given Blob_stream_mq_receiver to the given ostream. More...