Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
Namespaces | Typedefs | Functions
asio_local_stream_socket_fwd.hpp File Reference
#include "ipc/transport/transport_fwd.hpp"
#include "ipc/util/util_fwd.hpp"
#include "ipc/util/native_handle.hpp"
#include <flow/log/log.hpp>
#include <boost/asio.hpp>
#include <ostream>

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::asio_local_stream_socket
 Additional (versus boost.asio) APIs for advanced work with local (Unix domain) stream and connected-datagram sockets including transmission of native handles through them; and peer process credentials acquisition.
 
namespace  ipc::transport::asio_local_stream_socket::local_ns
 Short-hand for boost.asio Unix domain socket namespace.
 

Typedefs

using ipc::transport::asio_local_stream_socket::Protocol_byte_stream = local_ns::stream_protocol
 Short-hand for boost.asio Unix domain stream-socket – without built-in message boundary preservation – protocol. More...
 
using ipc::transport::asio_local_stream_socket::Protocol_pkt_stream = local_ns::seq_packet_protocol
 Short-hand for boost.asio Unix domain stream-socket – with built-in message boundary preservation – protocol. More...
 
template<typename Protocol >
using ipc::transport::asio_local_stream_socket::Acceptor = typename Protocol::acceptor
 Short-hand for boost.asio Unix domain stream-socket acceptor (listening guy) socket. More...
 
template<typename Protocol >
using ipc::transport::asio_local_stream_socket::Peer_socket = typename Protocol::socket
 Short-hand for boost.asio Unix domain peer stream-socket (usually-connected-or-empty guy). More...
 
template<typename Protocol >
using ipc::transport::asio_local_stream_socket::Endpoint = typename Protocol::endpoint
 Short-hand for boost.asio Unix domain peer stream-socket endpoint. More...
 

Functions

template<typename Protocol , typename Const_buffer_sequence >
size_t ipc::transport::asio_local_stream_socket::nb_write_some_with_native_handle (flow::log::Logger *logger_ptr, Peer_socket< Protocol > *peer_socket, Native_handle payload_hndl, const Const_buffer_sequence &payload_blob, Error_code *err_code)
 boost.asio extension similar to peer_socket->non_blocking(true); auto n = peer_socket->send(payload_blob) with the added capability of accompanying the Blob_const payload_blob with a native handle to be transmitted to the opposing peer. More...
 
template<typename Protocol , typename Mutable_buffer_sequence >
size_t ipc::transport::asio_local_stream_socket::nb_read_some_with_native_handle (flow::log::Logger *logger_ptr, Peer_socket< Protocol > *peer_socket, Native_handle *target_payload_hndl, const Mutable_buffer_sequence &target_payload_blob, Error_code *err_code, int message_flags=0)
 boost.asio extension similar to peer_socket->non_blocking(true); auto n = peer_socket->receive(target_payload_blob) with the added capability of reading (from opposing peer) not only target_payload_blob but an optionally accompanying native handle. More...
 
template<typename Mutable_buffer_sequence_t , typename Msg_resource_t >
std::ostream & ipc::transport::asio_local_stream_socket::operator<< (std::ostream &os, const Msg_batch_in< Mutable_buffer_sequence_t, Msg_resource_t > &val)
 Serializes a Msg_batch_in to a standard output stream. More...