24#include <flow/log/log.hpp>
25#include <boost/asio.hpp>
97namespace local_ns = boost::asio::local;
112static_assert(
false,
"Flow-IPC has some support for AF_LOCAL/SOCK_SEQPACKET and relies on Linux semantics for it; "
113 "this may be available in other OS with alleged spotty support, and we have not tested it "
114 "elsewhere. For now build in Linux only.");
165template<
typename Protocol>
173template<
typename Protocol>
181template<
typename Protocol>
186template<
typename Mutable_buffer_sequence_t,
typename Msg_resource_t>
299template<
typename Protocol,
typename Const_buffer_sequence>
303 const Const_buffer_sequence& payload_blob,
530template<
typename Protocol,
typename Mutable_buffer_sequence>
534 const Mutable_buffer_sequence& target_payload_blob,
536 int message_flags = 0);
549template<
typename Mutable_buffer_sequence_t,
typename Msg_resource_t>
Similarly to the transport::Msg_batch_in concept (as taken by API {Blob|Native_handle}_receiver::asyn...
Gettable (read-only) socket option for use with asio_local_stream_socket::Peer_socket ....
Additional (versus boost.asio) APIs for advanced work with local (Unix domain) stream and connected-d...
typename Protocol::socket Peer_socket
Short-hand for boost.asio Unix domain peer stream-socket (usually-connected-or-empty guy).
size_t nb_read_some_with_native_handle(flow::log::Logger *logger_ptr, Peer_socket< Protocol > *peer_socket_ptr, Native_handle *target_payload_hndl_ptr, const Mutable_buffer_sequence &target_payload_blob, Error_code *err_code, int message_flags)
boost.asio extension similar to peer_socket->non_blocking(true); auto n = peer_socket->receive(target...
std::ostream & 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.
local_ns::seq_packet_protocol Protocol_pkt_stream
Short-hand for boost.asio Unix domain stream-socket – with built-in message boundary preservation – p...
typename Protocol::endpoint Endpoint
Short-hand for boost.asio Unix domain peer stream-socket endpoint.
local_ns::stream_protocol Protocol_byte_stream
Short-hand for boost.asio Unix domain stream-socket – without built-in message boundary preservation ...
typename Protocol::acceptor Acceptor
Short-hand for boost.asio Unix domain stream-socket acceptor (listening guy) socket.
size_t nb_write_some_with_native_handle(flow::log::Logger *logger_ptr, Peer_socket< Protocol > *peer_socket_ptr, 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_b...
flow::Error_code Error_code
Short-hand for flow::Error_code which is very common.
A monolayer-thin wrapper around a native handle, a/k/a descriptor a/k/a FD.