22#include <boost/move/make_unique.hpp> 
   23#include <experimental/propagate_const> 
  163template<
typename Persistent_mq_handle>
 
  376  template<
typename Task_err>
 
  409  const std::string& 
nickname() 
const;
 
  424  using Impl_ptr = std::experimental::propagate_const<boost::movelib::unique_ptr<Blob_stream_mq_sender_impl<Mq>>>;
 
  429  template<
typename Persistent_mq_handle2>
 
  442template<
typename Persistent_mq_handle>
 
  449template<
typename Persistent_mq_handle>
 
  451template<
typename Persistent_mq_handle>
 
  456template<
typename Persistent_mq_handle>
 
  461template<
typename Persistent_mq_handle>
 
  465           (logger_ptr, nickname_str, std::move(mq), err_code))
 
  470template<
typename Persistent_mq_handle>
 
  475           (std::move(sync_io_core_in_peer_state_moved)))
 
  481template<
typename Persistent_mq_handle>
 
  484template<
typename Persistent_mq_handle>
 
  487  return m_impl ? m_impl->send_blob_max_size() : 0;
 
  490template<
typename Persistent_mq_handle>
 
  493  return m_impl ? (m_impl->send_blob(blob, err_code), 
true)
 
  497template<
typename Persistent_mq_handle>
 
  498template<
typename Task_err>
 
  501  return m_impl ? m_impl->async_end_sending(std::move(on_done_func)) : 
false;
 
  504template<
typename Persistent_mq_handle>
 
  507  return m_impl ? m_impl->end_sending() : 
false;
 
  510template<
typename Persistent_mq_handle>
 
  513  return m_impl ? m_impl->auto_ping(period) : 
false;
 
  516template<
typename Persistent_mq_handle>
 
  522template<
typename Persistent_mq_handle>
 
  530template<
typename Persistent_mq_handle>
 
Base of Blob_stream_mq_sender and Blob_stream_mq_receiver containing certain static facilities,...
Internal, non-movable pImpl-lite implementation of Blob_stream_mq_sender class template.
typename Base::Mq Mq
Short-hand for template arg for underlying MQ handle type.
Implements Blob_sender concept by using an adopted Persistent_mq_handle MQ handle to an MQ (message q...
~Blob_stream_mq_sender()
Implements Blob_sender API.
bool send_blob(const util::Blob_const &blob, Error_code *err_code=0)
Implements Blob_sender API per contract.
bool end_sending()
Implements Blob_sender API per contract.
size_t send_blob_max_size() const
Implements Blob_sender API per contract.
bool auto_ping(util::Fine_duration period=boost::chrono::seconds(2))
Implements Blob_sender API per contract.
static const Shared_name S_RESOURCE_TYPE_ID
Implements concept API. Equals Mq::S_RESOURCE_TYPE_ID.
Blob_stream_mq_sender & operator=(Blob_stream_mq_sender &&src)
Move-assigns from src; *this acts as if destructed; src becomes as-if default-cted (therefore in NULL...
Blob_stream_mq_sender & operator=(const Blob_stream_mq_sender &)=delete
Copy assignment is disallowed.
const Shared_name & absolute_name() const
Returns name equal to mq.absolute_name(), where mq was passed to ctor, at the time it was passed to c...
typename Blob_stream_mq_sender_impl< Persistent_mq_handle >::Mq Mq
Short-hand for template arg for underlying MQ handle type.
Blob_stream_mq_sender()
Implements Blob_sender API, per its concept contract.
const std::string & nickname() const
Returns nickname, a brief string suitable for logging.
friend std::ostream & operator<<(std::ostream &os, const Blob_stream_mq_sender< Persistent_mq_handle2 > &val)
Friend of Blob_stream_mq_sender.
std::experimental::propagate_const< boost::movelib::unique_ptr< Blob_stream_mq_sender_impl< Mq > > > Impl_ptr
Short-hand for const-respecting wrapper around Blob_stream_mq_sender_impl for the pImpl idiom.
Blob_stream_mq_sender(const Blob_stream_mq_sender &)=delete
Copy construction is disallowed.
Blob_stream_mq_sender(Blob_stream_mq_sender &&src)
Move-constructs from src; src becomes as-if default-cted (therefore in NULL state).
bool async_end_sending(Task_err &&on_done_func)
Implements Blob_sender API per contract.
Impl_ptr m_impl
The true implementation of this class. See also our class doc header.
Dummy type for use as a template param to Channel when either the blobs pipe or handles pipe is disab...
String-wrapping abstraction representing a name uniquely distinguishing a kernel-persistent entity fr...
static const Shared_name S_EMPTY
A (default-cted) Shared_name. May be useful for functions returning const Shared_name&.
Flow-IPC module providing transmission of structured messages and/or low-level blobs (and more) betwe...
std::ostream & operator<<(std::ostream &os, const Bipc_mq_handle &val)
Prints string representation of the given Bipc_mq_handle to the given ostream.
flow::Fine_duration Fine_duration
Short-hand for Flow's Fine_duration.
const std::string EMPTY_STRING
A (default-cted) string. May be useful for functions returning const std::string&.
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::util::String_view String_view
Short-hand for Flow's String_view.
flow::Error_code Error_code
Short-hand for flow::Error_code which is very common.