Monero
Loading...
Searching...
No Matches
zmq.h File Reference
#include <memory>
#include <string>
#include <system_error>
#include <zmq.h>
#include "common/expect.h"
#include "span.h"
Include dependency graph for zmq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  net::zmq::terminate
 Calls zmq_term. More...
struct  net::zmq::close
 Calls zmq_close. More...

Namespaces

namespace  epee
 TODO: (mj-xmr) This will be reduced in an another PR.
namespace  net
namespace  net::zmq

Macros

#define MONERO_ZMQ_CHECK(...)
 If the expression is less than 0, return the current ZMQ error code.
#define MONERO_LOG_ZMQ_ERROR(...)
 Print a message followed by the current ZMQ error message.
#define MONERO_ZMQ_THROW(msg)
 Throw an exception with a custom msg, current ZMQ error code, filename, and line number.

Typedefs

using net::zmq::context = std::unique_ptr<void, terminate>
 Unique ZMQ context handle, calls zmq_term on destruction.
using net::zmq::socket = std::unique_ptr<void, close>
 Unique ZMQ socket handle, calls zmq_close on destruction.

Functions

const std::error_category & net::zmq::error_category () noexcept
std::error_code net::zmq::make_error_code (int code) noexcept
std::error_code net::zmq::get_error_code () noexcept
template<typename F, typename... T>
expect< void > net::zmq::retry_op (F op, T &&... args) noexcept(noexcept(op(args...)))
expect< std::string > net::zmq::receive (void *const socket, const int flags)
expect< void > net::zmq::send (const epee::span< const std::uint8_t > payload, void *const socket, const int flags) noexcept
expect< void > net::zmq::send (epee::byte_slice &&payload, void *socket, int flags) noexcept

Macro Definition Documentation

◆ MONERO_LOG_ZMQ_ERROR

#define MONERO_LOG_ZMQ_ERROR ( ...)
Value:
do \
{ \
MERROR( __VA_ARGS__ << ": " << ::net::zmq::get_error_code().message()); \
} while (0)
std::error_code get_error_code() noexcept
Definition zmq.h:77

Print a message followed by the current ZMQ error message.

◆ MONERO_ZMQ_CHECK

#define MONERO_ZMQ_CHECK ( ...)
Value:
do \
{ \
if (( __VA_ARGS__ ) < 0) \
} while (0)

If the expression is less than 0, return the current ZMQ error code.

◆ MONERO_ZMQ_THROW

#define MONERO_ZMQ_THROW ( msg)
Value:
#define MONERO_THROW(code, msg)
Definition expect.h:67

Throw an exception with a custom msg, current ZMQ error code, filename, and line number.