DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
QueueSenderModel.hpp
Go to the documentation of this file.
1
9#ifndef IOMANAGER_INCLUDE_IOMANAGER_QSENDER_HPP_
10#define IOMANAGER_INCLUDE_IOMANAGER_QSENDER_HPP_
11
12#include "iomanager/Sender.hpp"
13
14#include <memory>
15#include <string>
16
17namespace dunedaq::iomanager {
18
19// QImpl
20template<typename Datatype>
21class QueueSenderModel : public SenderConcept<Datatype>
22{
23public:
24 explicit QueueSenderModel(ConnectionId const& request);
25
27
28 void send(Datatype&& data, Sender::timeout_t timeout) override;
29
30 bool try_send(Datatype&& data, Sender::timeout_t timeout) override;
31
32 void send_with_topic(Datatype&& data, Sender::timeout_t timeout, std::string) override;
33
34 bool is_ready_for_sending(Sender::timeout_t timeout) override;
35
36private:
37 std::shared_ptr<Queue<Datatype>> m_queue;
38};
39
40} // namespace dunedaq::iomanager
41
43
44#endif // IOMANAGER_INCLUDE_IOMANAGER_SENDER_HPP_
bool try_send(Datatype &&data, Sender::timeout_t timeout) override
bool is_ready_for_sending(Sender::timeout_t timeout) override
std::shared_ptr< Queue< Datatype > > m_queue
void send_with_topic(Datatype &&data, Sender::timeout_t timeout, std::string) override
QueueSenderModel(ConnectionId const &request)
void send(Datatype &&data, Sender::timeout_t timeout) override
std::chrono::milliseconds timeout_t
Definition Sender.hpp:24