Bitcoin Core  0.20.99
P2P Digital Currency
zmqpublishnotifier.h
Go to the documentation of this file.
1 // Copyright (c) 2015-2018 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 class CBlockIndex;
11 
13 {
14 private:
15  uint32_t nSequence {0U};
16 
17 public:
18 
19  /* send zmq multipart message
20  parts:
21  * command
22  * data
23  * message sequence number
24  */
25  bool SendMessage(const char *command, const void* data, size_t size);
26 
27  bool Initialize(void *pcontext) override;
28  void Shutdown() override;
29 };
30 
32 {
33 public:
34  bool NotifyBlock(const CBlockIndex *pindex) override;
35 };
36 
38 {
39 public:
40  bool NotifyTransaction(const CTransaction &transaction) override;
41 };
42 
44 {
45 public:
46  bool NotifyBlock(const CBlockIndex *pindex) override;
47 };
48 
50 {
51 public:
52  bool NotifyTransaction(const CTransaction &transaction) override;
53 };
54 
55 #endif // BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
uint32_t nSequence
upcounting per message sequence number
virtual bool NotifyBlock(const CBlockIndex *pindex)
virtual bool NotifyTransaction(const CTransaction &transaction)
bool SendMessage(const char *command, const void *data, size_t size)
The block chain is a tree shaped structure starting with the genesis block at the root...
Definition: chain.h:137
The basic transaction that is broadcasted on the network and contained in blocks. ...
Definition: transaction.h:251
bool Initialize(void *pcontext) override