Flow-IPC 1.0.0
Flow-IPC project: Public API.
Namespaces | Functions
asio_local_stream_socket.cpp 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::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 stream (Unix domain) sockets including transmission of native handles through such streams; and peer process credentials acquisition.
 

Functions

size_t ipc::transport::asio_local_stream_socket::nb_write_some_with_native_handle (flow::log::Logger *logger_ptr, Peer_socket *peer_socket, Native_handle payload_hndl, const util::Blob_const &payload_blob, Error_code *err_code)
 boost.asio extension similar to peer_socket->non_blocking(true); auto n = peer_socket->write_some(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...
 
size_t ipc::transport::asio_local_stream_socket::nb_read_some_with_native_handle (flow::log::Logger *logger_ptr, Peer_socket *peer_socket, Native_handle *target_payload_hndl, const util::Blob_mutable &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->read_some(target_payload_blob) with the added capability of reading (from opposing peer) not only Blob_mutable target_payload_blob but an optionally accompanying native handle. More...
 
void ipc::transport::asio_local_stream_socket::release_native_peer_socket (Native_handle &&peer_socket_native_or_null)
 Little utility that returns the raw Native_handle suitable for Peer_socket to the OS. More...