Branch data Line data Source code
1 : : #include "ZeroMQWorker.hpp"
2 : :
3 : : #include <iostream>
4 : : #include <zmq.hpp>
5 : :
6 : : namespace MQ {
7 : 4 : ZeroMQWorker::ZeroMQWorker(std::unique_ptr<IMQSocket> socket) : m_socket(std::move(socket)) {};
8 : :
9 : 4 : ZeroMQWorker::~ZeroMQWorker() {
10 : 4 : if (m_socket) {
11 : 4 : std::cout << "Closing publisher\n";
12 : 4 : m_socket->close();
13 : : }
14 : 4 : }
15 : :
16 : 4 : void ZeroMQWorker::bind(const std::string& endpoint) { m_socket->bind(endpoint); }
17 : :
18 : 2 : auto ZeroMQWorker::publish(const std::vector<uint8_t>& data) -> bool {
19 : 2 : return m_socket->send(data);
20 : : }
21 : :
22 : 2 : auto ZeroMQWorker::receive() -> std::optional<std::vector<uint8_t>> { return m_socket->receive(); }
23 : : } // namespace MQ
|