Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
zmqpublishnotifier.h
Go to the documentation of this file.
1// Copyright (c) 2015-2016 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
6#define BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
7
9
10#include <functional>
11
12class CBlock;
13class CBlockIndex;
14
16private:
19
20public:
21 /* send zmq multipart message
22 parts:
23 * command
24 * data
25 * message sequence number
26 */
27 bool SendZmqMessage(const char *command, const void *data, size_t size);
28
29 bool Initialize(void *pcontext) override;
30 void Shutdown() override;
31};
32
34public:
35 bool NotifyBlock(const CBlockIndex *pindex) override;
36};
37
42
44private:
45 const std::function<bool(CBlock &, const CBlockIndex &)>
47
48public:
52 bool NotifyBlock(const CBlockIndex *pindex) override;
53};
54
59
69
70#endif // BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
Definition block.h:60
The block chain is a tree shaped structure starting with the genesis block at the root,...
Definition blockindex.h:25
The basic transaction that is broadcasted on the network and contained in blocks.
bool SendZmqMessage(const char *command, const void *data, size_t size)
uint32_t nSequence
upcounting per message sequence number
bool Initialize(void *pcontext) override
bool NotifyBlock(const CBlockIndex *pindex) override
bool NotifyTransaction(const CTransaction &transaction) override
bool NotifyBlock(const CBlockIndex *pindex) override
const std::function< bool(CBlock &, const CBlockIndex &)> m_get_block_by_index
CZMQPublishRawBlockNotifier(std::function< bool(CBlock &, const CBlockIndex &)> get_block_by_index)
bool NotifyTransaction(const CTransaction &transaction) override
bool NotifyTransactionAcceptance(const CTransaction &transaction, uint64_t mempool_sequence) override
bool NotifyTransactionRemoval(const CTransaction &transaction, uint64_t mempool_sequence) override
bool NotifyBlockConnect(const CBlockIndex *pindex) override
bool NotifyBlockDisconnect(const CBlockIndex *pindex) override
Implement std::hash so RCUPtr can be used as a key for maps or sets.
Definition rcu.h:257
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition random.h:85