Monero
Classes | Namespaces | Macros | Typedefs | Functions | Variables
zmq_pub.cpp File Reference
#include "zmq_pub.h"
#include <algorithm>
#include <boost/range/adaptor/filtered.hpp>
#include <boost/range/adaptor/transformed.hpp>
#include <boost/thread/locks.hpp>
#include <cassert>
#include <cstdint>
#include <cstring>
#include <rapidjson/document.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
#include <stdexcept>
#include <string>
#include <utility>
#include "common/expect.h"
#include "crypto/crypto.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_basic/events.h"
#include "misc_log_ex.h"
#include "serialization/json_object.h"
Include dependency graph for zmq_pub.cpp:

Classes

struct  anonymous_namespace{zmq_pub.cpp}::context< F >
 
struct  anonymous_namespace{zmq_pub.cpp}::is_valid
 
struct  anonymous_namespace{zmq_pub.cpp}::minimal_chain
 Object for "minimal" block serialization. More...
 
struct  anonymous_namespace{zmq_pub.cpp}::minimal_txpool
 Object for "minimal" tx serialization. More...
 

Namespaces

 anonymous_namespace{zmq_pub.cpp}
 
 cryptonote
 Holds cryptonote related classes and helpers.
 
 cryptonote::listener
 

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "net.zmq"
 

Typedefs

using anonymous_namespace{zmq_pub.cpp}::chain_writer = void(epee::byte_stream &, std::uint64_t, epee::span< const cryptonote::block >)
 
using anonymous_namespace{zmq_pub.cpp}::txpool_writer = void(epee::byte_stream &, epee::span< const cryptonote::txpool_event >)
 

Functions

template<typename T >
bool anonymous_namespace{zmq_pub.cpp}::operator< (const context< T > &lhs, const context< T > &rhs) noexcept
 
template<typename T >
bool anonymous_namespace{zmq_pub.cpp}::operator< (const context< T > &lhs, const boost::string_ref rhs) noexcept
 
template<typename T , std::size_t N>
void anonymous_namespace{zmq_pub.cpp}::verify_sorted (const std::array< context< T >, N > &elems, const char *name)
 
void anonymous_namespace{zmq_pub.cpp}::write_header (epee::byte_stream &buf, const boost::string_ref name)
 
template<typename T >
void anonymous_namespace{zmq_pub.cpp}::json_pub (epee::byte_stream &buf, const T value)
 
void anonymous_namespace{zmq_pub.cpp}::toJsonValue (rapidjson::Writer< epee::byte_stream > &dest, const minimal_chain self)
 
void anonymous_namespace{zmq_pub.cpp}::toJsonValue (rapidjson::Writer< epee::byte_stream > &dest, const minimal_txpool self)
 
void anonymous_namespace{zmq_pub.cpp}::json_full_chain (epee::byte_stream &buf, const std::uint64_t height, const epee::span< const cryptonote::block > blocks)
 
void anonymous_namespace{zmq_pub.cpp}::json_minimal_chain (epee::byte_stream &buf, const std::uint64_t height, const epee::span< const cryptonote::block > blocks)
 
void anonymous_namespace{zmq_pub.cpp}::json_full_txpool (epee::byte_stream &buf, epee::span< const cryptonote::txpool_event > txes)
 
void anonymous_namespace{zmq_pub.cpp}::json_minimal_txpool (epee::byte_stream &buf, epee::span< const cryptonote::txpool_event > txes)
 
template<typename T , std::size_t N>
epee::span< const context< T > > anonymous_namespace{zmq_pub.cpp}::get_range (const std::array< context< T >, N > &contexts, const boost::string_ref value)
 
template<std::size_t N, typename T >
void anonymous_namespace{zmq_pub.cpp}::add_subscriptions (std::array< std::size_t, N > &subs, const epee::span< const context< T >> range, context< T > const *const first)
 
template<std::size_t N, typename T >
void anonymous_namespace{zmq_pub.cpp}::remove_subscriptions (std::array< std::size_t, N > &subs, const epee::span< const context< T >> range, context< T > const *const first)
 
template<std::size_t N, typename T , typename... U>
std::array< epee::byte_slice, N > anonymous_namespace{zmq_pub.cpp}::make_pubs (const std::array< std::size_t, N > &subs, const std::array< context< T >, N > &contexts, U &&... args)
 
template<std::size_t N>
std::size_t anonymous_namespace{zmq_pub.cpp}::send_messages (void *const socket, std::array< epee::byte_slice, N > &messages)
 
expect< boolanonymous_namespace{zmq_pub.cpp}::relay_block_pub (void *const relay, void *const pub) noexcept
 

Variables

constexpr const char anonymous_namespace{zmq_pub.cpp}::txpool_signal [] = "tx_signal"
 
constexpr const std::array< context< chain_writer >, 2 > anonymous_namespace{zmq_pub.cpp}::chain_contexts
 
constexpr const std::array< context< txpool_writer >, 2 > anonymous_namespace{zmq_pub.cpp}::txpool_contexts
 

Macro Definition Documentation

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "net.zmq"