#include "ipc/transport/detail/asio_local_stream_socket.hpp"
#include "ipc/transport/error.hpp"
#include "ipc/util/process_credentials.hpp"
#include "ipc/util/util_fwd.hpp"
#include <flow/error/error.hpp>
#include <flow/log/log.hpp>
#include <flow/common.hpp>
#include <boost/array.hpp>
#include <boost/io/ios_state.hpp>
#include <boost/noncopyable.hpp>
#include <type_traits>
#include <algorithm>
#include <stdexcept>
#include <cstring>
#include <cassert>
#include <cerrno>
#include <cstdlib>
#include <ostream>
#include <utility>
#include <vector>
#include <sys/types.h>
#include <sys/socket.h>
Go to the source code of this file.
|
| 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.
|
| |
|
| 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...
|
| |
| 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...
|
| |