33 #include <boost/thread/mutex.hpp> 34 #include <boost/utility/string_ref.hpp> 62 std::deque<std::vector<txpool_event>>
txes_;
70 static constexpr
const char*
relay_endpoint() noexcept {
return "inproc://pub_relay"; }
102 std::size_t
send_txpool_add(std::vector<cryptonote::txpool_event> txes);
122 void operator()(std::vector<cryptonote::txpool_event> txes)
const;
Callable for send_miner_data with weak ownership to zmq_pub object.
Definition: zmq_pub.h:112
std::array< std::size_t, 2 > chain_subs_
Definition: zmq_pub.h:63
zmq_pub(void *context)
Definition: zmq_pub.cpp:360
bool sub_request(const boost::string_ref message)
Process a client subscription request (from XPUB sockets). Thread-safe.
Definition: zmq_pub.cpp:384
static constexpr const char * relay_endpoint() noexcept
Definition: zmq_pub.h:70
std::array< std::size_t, 2 > txpool_subs_
Definition: zmq_pub.h:65
std::unique_ptr< void, close > socket
Unique ZMQ socket handle, calls zmq_close on destruction.
Definition: zmq.h:108
void operator()(uint8_t major_version, uint64_t height, const crypto::hash &prev_id, const crypto::hash &seed_hash, difficulty_type diff, uint64_t median_weight, uint64_t already_generated_coins, const std::vector< tx_block_template_backlog_entry > &tx_backlog) const
Definition: zmq_pub.cpp:532
Non-owning sequence of data. Does not deep copy.
Definition: span.h:54
Definition: blocks.cpp:12
unsigned char uint8_t
Definition: stdint.h:124
std::weak_ptr< zmq_pub > self_
Definition: zmq_pub.h:114
Sends ZMQ PUB messages on cryptonote events.
Definition: zmq_pub.h:55
Holds cryptonote related classes and helpers.
Definition: blockchain_db.cpp:44
bool relay_to_pub(void *relay, void *pub)
Definition: zmq_pub.cpp:422
std::size_t send_miner_data(uint8_t major_version, uint64_t height, const crypto::hash &prev_id, const crypto::hash &seed_hash, difficulty_type diff, uint64_t median_weight, uint64_t already_generated_coins, const std::vector< tx_block_template_backlog_entry > &tx_backlog)
Definition: zmq_pub.cpp:483
boost::mutex sync_
Synchronizes counts in *_subs_ arrays.
Definition: zmq_pub.h:66
void operator()(std::uint64_t height, epee::span< const cryptonote::block > blocks) const
Definition: zmq_pub.cpp:523
std::weak_ptr< zmq_pub > self_
Definition: zmq_pub.h:107
Callable for send_txpool_add with weak ownership to zmq_pub object.
Definition: zmq_pub.h:119
net::zmq::socket relay_
Definition: zmq_pub.h:61
unsigned __int64 uint64_t
Definition: stdint.h:136
std::unique_ptr< void, terminate > context
Unique ZMQ context handle, calls zmq_term on destruction.
Definition: zmq.h:105
diff
Definition: gen_wide_data.py:42
std::size_t send_chain_main(std::uint64_t height, epee::span< const cryptonote::block > blocks)
Definition: zmq_pub.cpp:454
Callable for send_chain_main with weak ownership to zmq_pub object.
Definition: zmq_pub.h:105
boost::multiprecision::uint128_t difficulty_type
Definition: difficulty.h:41
std::size_t send_txpool_add(std::vector< cryptonote::txpool_event > txes)
Definition: zmq_pub.cpp:502
std::weak_ptr< zmq_pub > self_
Definition: zmq_pub.h:121
void operator()(std::vector< cryptonote::txpool_event > txes) const
Definition: zmq_pub.cpp:541
std::deque< std::vector< txpool_event > > txes_
Definition: zmq_pub.h:62
POD_CLASS hash
Definition: hash.h:49
major_version
Definition: versiongenerate.py:78
std::array< std::size_t, 1 > miner_subs_
Definition: zmq_pub.h:64
tuple message
Definition: gtest_output_test.py:331
~zmq_pub()
Definition: zmq_pub.cpp:381
zmq_pub & operator=(const zmq_pub &)=delete