33 #include <system_error> 40 #define MONERO_ZMQ_CHECK(...) \ 43 if (( __VA_ARGS__ ) < 0) \ 44 return {::net::zmq::get_error_code()}; \ 48 #define MONERO_LOG_ZMQ_ERROR(...) \ 51 MERROR( __VA_ARGS__ << ": " << ::net::zmq::get_error_code().message()); \ 55 #define MONERO_ZMQ_THROW(msg) \ 56 MONERO_THROW( ::net::zmq::get_error_code(), msg ) 85 static void call(
void* ptr) noexcept;
105 using context = std::unique_ptr<void, terminate>;
108 using socket = std::unique_ptr<void, close>;
116 template<
typename F,
typename...
T>
121 if (0 <= op(
args...))
124 const int error = zmq_errno();
std::error_category const & error_category() noexcept
Definition: error.cpp:92
const uint32_t T[512]
Definition: groestl_tables.h:36
std::error_code make_error_code(int code) noexcept
Definition: zmq.h:71
void operator()(void *ptr) const noexcept
Definition: zmq.h:87
expect< std::string > receive(void *const socket, const int flags)
Definition: zmq.cpp:163
#define F(w, k)
Definition: sha512-blocks.c:61
error
General net errors.
Definition: error.h:38
const std::error_category & error_category() noexcept
Definition: zmq.cpp:42
std::unique_ptr< void, close > socket
Unique ZMQ socket handle, calls zmq_close on destruction.
Definition: zmq.h:108
args
Definition: build_protob.py:10
static int flags
Definition: mdb_load.c:31
const portMappingElt code
Definition: portlistingparse.c:22
Calls zmq_close
Definition: zmq.h:95
Definition: net_utils_base.h:58
std::unique_ptr< void, terminate > context
Unique ZMQ context handle, calls zmq_term on destruction.
Definition: zmq.h:105
static void call(void *ptr) noexcept
Definition: zmq.cpp:83
bool success
Definition: cold-transaction.cpp:57
void operator()(void *ptr) const noexcept
Definition: zmq.h:97
Calls zmq_term
Definition: zmq.h:83
TODO: (mj-xmr) This will be reduced in an another PR.
Definition: byte_slice.h:39
expect< void > send(const epee::span< const std::uint8_t > payload, void *const socket, const int flags) noexcept
Definition: zmq.cpp:170
std::error_code get_error_code() noexcept
Definition: zmq.h:77
expect< void > retry_op(F op, T &&... args) noexcept(noexcept(op(args...)))
Definition: zmq.h:117
#define inline
Definition: inline_c.h:34