9#ifndef IOMANAGER_INCLUDE_IOMANAGER_IOMANAGER_HPP_
10#define IOMANAGER_INCLUDE_IOMANAGER_IOMANAGER_HPP_
40 static std::shared_ptr<IOManager>
get()
54 std::vector<const confmodel::Queue*> queues,
55 std::vector<const confmodel::NetworkConnection*> connections,
62 template<
typename Datatype>
65 template<
typename Datatype>
66 std::shared_ptr<SenderConcept<Datatype>>
get_sender(std::string
const& uid);
68 template<
typename Datatype>
71 template<
typename Datatype>
72 std::shared_ptr<ReceiverConcept<Datatype>>
get_receiver(std::string
const& uid);
73 template<
typename Datatype>
74 std::shared_ptr<ReceiverConcept<Datatype>>
get_receiver(std::string
const& uid, std::string
const& tag);
76 template<
typename Datatype>
79 template<
typename Datatype>
80 void add_callback(std::string
const& uid, std::function<
void(Datatype&)> callback);
82 template<
typename Datatype>
83 void add_callback(std::string
const& uid, std::string
const& tag, std::function<
void(Datatype&)> callback);
85 template<
typename Datatype>
88 template<
typename Datatype>
90 template<
typename Datatype>
98 using SenderMap = std::map<ConnectionId, std::shared_ptr<Sender>>;
99 using ReceiverMap = std::map<ConnectionId, std::shared_ptr<Receiver>>;
static std::shared_ptr< IOManager > get()
static std::shared_ptr< IOManager > s_instance
IOManager(IOManager &&)=delete
IOManager is not move-constructible.
void configure(std::string session, std::vector< const confmodel::Queue * > queues, std::vector< const confmodel::NetworkConnection * > connections, const confmodel::ConnectivityService *connection_service, opmonlib::OpMonManager &)
void add_callback(ConnectionId const &id, std::function< void(Datatype &)> callback)
std::map< ConnectionId, std::shared_ptr< Receiver > > ReceiverMap
std::set< std::string > get_datatypes(std::string const &uid)
IOManager(const IOManager &)=delete
IOManager is not copy-constructible.
std::shared_ptr< SenderConcept< Datatype > > get_sender(ConnectionId id)
void remove_callback(ConnectionId const &id)
std::map< ConnectionId, std::shared_ptr< Sender > > SenderMap
IOManager & operator=(const IOManager &)=delete
IOManager is not copy-assignable.
std::shared_ptr< ReceiverConcept< Datatype > > get_receiver(ConnectionId id)
IOManager & operator=(IOManager &&)=delete
IOManager is not move-assignable.