21#ifndef IPC_DOXYGEN_ONLY
22static_assert(
false,
"As of this writing this is a documentation-only \"header\" "
23 "(the \"source\" is for humans and Doxygen only).");
111 template<
typename Create_ev_wait_hndl_func>
123 template<
typename Event_wait_func_t>
164 template<
typename Task_err>
271 template<
typename Create_ev_wait_hndl_func>
283 template<
typename Event_wait_func_t>
318 template<
typename Task_err_sz>
321 Task_err_sz&& on_done_func);
A documentation-only concept: what transport::Blob_receiver is to transport::Native_handle_receiver (...
Blob_receiver(Blob_receiver &&src)
Move-constructs from src; src becomes as-if default-cted (therefore in NULL state).
bool replace_event_wait_handles(const Create_ev_wait_hndl_func &create_ev_wait_hndl_func)
Coincides with sync_io::Native_handle_receiver concept counterpart.
static const Shared_name S_RESOURCE_TYPE_ID
Same notes as for transport::Blob_receiver.
~Blob_receiver()
Destroys this peer endpoint which will end the conceptual outgoing-direction pipe (in PEER state,...
bool idle_timer_run(util::Fine_duration timeout)
In PEER state: Irreversibly enables a conceptual idle timer whose potential side effect is,...
Blob_receiver()
Default ctor: Creates a peer object in NULL (neither connected nor connecting) state.
Blob_receiver(const Blob_receiver &)=delete
Disallow copying.
static constexpr bool S_BLOB_UNDERFLOW_ALLOWED
Same notes as for transport::Blob_receiver.
size_t receive_blob_max_size() const
All notes from sync_io::Native_handle_receiver::receive_meta_blob_max_size() apply.
Blob_receiver & operator=(Blob_receiver &&src)
Move-assigns from src; *this acts as if destructed; src becomes as-if default-cted (therefore in NULL...
Blob_receiver & operator=(const Blob_receiver &)=delete
Disallow copying.
bool async_receive_blob(const util::Blob_mutable &target_blob, Error_code *sync_err_code, size_t *sync_sz, Task_err_sz &&on_done_func)
In PEER state: Possibly-asynchronously awaits one discrete message – as sent by the opposing peer – a...
bool start_receive_blob_ops(Event_wait_func_t &&ev_wait_func)
All notes from sync_io::Native_handle_receiver::start_receive_native_handle_ops() apply.
A documentation-only concept: what transport::Blob_sender is to transport::Native_handle_sender (name...
bool replace_event_wait_handles(const Create_ev_wait_hndl_func &create_ev_wait_hndl_func)
Coincides with sync_io::Native_handle_sender concept counterpart.
Blob_sender & operator=(Blob_sender &&src)
Move-assigns from src; *this acts as if destructed; src becomes as-if default-cted (therefore in NULL...
static const Shared_name S_RESOURCE_TYPE_ID
Same notes as for transport::Blob_sender.
bool end_sending()
Equivalent to async_end_sending(F) wherein F() does nothing.
size_t send_blob_max_size() const
All notes from sync_io::Native_handle_sender apply.
~Blob_sender()
Destroys this peer endpoint which will end the conceptual outgoing-direction pipe (in PEER state,...
Blob_sender(Blob_sender &&src)
Move-constructs from src; src becomes as-if default-cted (therefore in NULL state).
bool async_end_sending(Error_code *sync_err_code, Task_err &&on_done_func)
Equivalent to send_blob() but sends a graceful-close message instead of the usual payload.
bool start_send_blob_ops(Event_wait_func_t &&ev_wait_func)
All notes from sync_io::Native_handle_sender::start_send_native_handle_ops() apply.
Blob_sender()
Default ctor: Creates a peer object in NULL (neither connected nor connecting) state.
bool auto_ping()
In PEER state: Irreversibly enables periodic auto-pinging of opposing receiver with low-level message...
Blob_sender & operator=(const Blob_sender &)=delete
Disallow copying.
bool send_blob(const util::Blob_const &blob, Error_code *err_code=0)
In PEER state: Synchronously, non-blockingly sends one discrete message, reliably and in-order,...
Blob_sender(const Blob_sender &)=delete
Disallow copying.
String-wrapping abstraction representing a name uniquely distinguishing a kernel-persistent entity fr...
sync_io-pattern counterparts to async-I/O-pattern object types in parent namespace ipc::transport.
boost::asio::mutable_buffer Blob_mutable
Short-hand for an mutable blob somewhere in memory, stored as exactly a void* and a size_t.
flow::Fine_duration Fine_duration
Short-hand for Flow's Fine_duration.
boost::asio::const_buffer Blob_const
Short-hand for an immutable blob somewhere in memory, stored as exactly a void const * and a size_t.
flow::Error_code Error_code
Short-hand for flow::Error_code which is very common.