Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

zmqpublishnotifier.h
Go to the documentation of this file.
1 // Copyright (c) 2015 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 class CGovernanceVote;
12 class CGovernanceObject;
13 
15 {
16 private:
17  uint32_t nSequence;
18 
19 public:
20 
21  /* send zmq multipart message
22  parts:
23  * command
24  * data
25  * message sequence number
26  */
27  bool SendMessage(const char *command, const void* data, size_t size);
28 
29  bool Initialize(void *pcontext) override;
30  void Shutdown() override;
31 };
32 
34 {
35 public:
36  bool NotifyBlock(const CBlockIndex *pindex) override;
37 };
38 
40 {
41 public:
42  bool NotifyChainLock(const CBlockIndex *pindex, const llmq::CChainLockSig& clsig) override;
43 };
44 
46 {
47 public:
48  bool NotifyTransaction(const CTransaction &transaction) override;
49 };
50 
52 {
53 public:
54  bool NotifyTransactionLock(const CTransaction &transaction, const llmq::CInstantSendLock& islock) override;
55 };
56 
58 {
59 public:
60  bool NotifyGovernanceVote(const CGovernanceVote &vote) override;
61 };
62 
64 {
65 public:
66  bool NotifyGovernanceObject(const CGovernanceObject &object) override;
67 };
68 
70 {
71 public:
72  bool NotifyInstantSendDoubleSpendAttempt(const CTransaction &currentTx, const CTransaction &previousTx) override;
73 };
74 
76 {
77 public:
78  bool NotifyBlock(const CBlockIndex *pindex) override;
79 };
80 
82 {
83 public:
84  bool NotifyChainLock(const CBlockIndex *pindex, const llmq::CChainLockSig& clsig) override;
85 };
86 
88 {
89 public:
90  bool NotifyChainLock(const CBlockIndex *pindex, const llmq::CChainLockSig& clsig) override;
91 };
92 
94 {
95 public:
96  bool NotifyTransaction(const CTransaction &transaction) override;
97 };
98 
100 {
101 public:
102  bool NotifyTransactionLock(const CTransaction &transaction, const llmq::CInstantSendLock& islock) override;
103 };
104 
106 {
107 public:
108  bool NotifyTransactionLock(const CTransaction &transaction, const llmq::CInstantSendLock& islock) override;
109 };
110 
112 {
113 public:
114  bool NotifyGovernanceVote(const CGovernanceVote &vote) override;
115 };
116 
118 {
119 public:
120  bool NotifyGovernanceObject(const CGovernanceObject &object) override;
121 };
122 
124 {
125 public:
126  bool NotifyInstantSendDoubleSpendAttempt(const CTransaction &currentTx, const CTransaction &previousTx) override;
127 };
128 #endif // BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
bool NotifyTransaction(const CTransaction &transaction) override
uint32_t nSequence
upcounting per message sequence number
Governance Object.
bool NotifyChainLock(const CBlockIndex *pindex, const llmq::CChainLockSig &clsig) override
bool NotifyGovernanceVote(const CGovernanceVote &vote) override
bool NotifyTransaction(const CTransaction &transaction) override
bool NotifyBlock(const CBlockIndex *pindex) override
bool NotifyGovernanceObject(const CGovernanceObject &object) override
bool NotifyChainLock(const CBlockIndex *pindex, const llmq::CChainLockSig &clsig) override
bool SendMessage(const char *command, const void *data, size_t size)
bool NotifyBlock(const CBlockIndex *pindex) override
bool NotifyGovernanceVote(const CGovernanceVote &vote) override
bool NotifyGovernanceObject(const CGovernanceObject &object) override
The block chain is a tree shaped structure starting with the genesis block at the root...
Definition: chain.h:170
bool NotifyInstantSendDoubleSpendAttempt(const CTransaction &currentTx, const CTransaction &previousTx) override
bool NotifyTransactionLock(const CTransaction &transaction, const llmq::CInstantSendLock &islock) override
bool NotifyTransactionLock(const CTransaction &transaction, const llmq::CInstantSendLock &islock) override
bool NotifyChainLock(const CBlockIndex *pindex, const llmq::CChainLockSig &clsig) override
The basic transaction that is broadcasted on the network and contained in blocks. ...
Definition: transaction.h:198
bool NotifyTransactionLock(const CTransaction &transaction, const llmq::CInstantSendLock &islock) override
bool NotifyInstantSendDoubleSpendAttempt(const CTransaction &currentTx, const CTransaction &previousTx) override
bool Initialize(void *pcontext) override
Released under the MIT license