9#ifndef IOMANAGER_INCLUDE_IOMANAGER_RECEIVER_HPP_
10#define IOMANAGER_INCLUDE_IOMANAGER_RECEIVER_HPP_
47template<
typename Datatype>
57 virtual void add_callback(std::function<
void(Datatype&)> callback) = 0;
ReceiverConcept(ConnectionId const &conn_id)
virtual Datatype receive(Receiver::timeout_t timeout)=0
virtual void add_callback(std::function< void(Datatype &)> callback)=0
virtual std::optional< Datatype > try_receive(Receiver::timeout_t timeout)=0
virtual void subscribe(std::string topic)=0
virtual void unsubscribe(std::string topic)=0
virtual void remove_callback()=0
Receiver(ConnectionId const &this_conn)
static constexpr timeout_t s_block
std::chrono::milliseconds timeout_t
static constexpr timeout_t s_no_block
virtual ~Receiver()=default
Implements the Named interface.
NamedObject(const std::string &name)
NamedObject Constructor.