Remove duplicate include
[bitcoinplatinum.git] / src / zmq / zmqpublishnotifier.h
blob1790fe56982a1a34c0521ce9c70bf910e0da765f
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.
5 #ifndef BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
6 #define BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
8 #include "zmqabstractnotifier.h"
10 class CBlockIndex;
12 class CZMQAbstractPublishNotifier : public CZMQAbstractNotifier
14 private:
15 uint32_t nSequence; //!< upcounting per message sequence number
17 public:
19 /* send zmq multipart message
20 parts:
21 * command
22 * data
23 * message sequence number
25 bool SendMessage(const char *command, const void* data, size_t size);
27 bool Initialize(void *pcontext) override;
28 void Shutdown() override;
31 class CZMQPublishHashBlockNotifier : public CZMQAbstractPublishNotifier
33 public:
34 bool NotifyBlock(const CBlockIndex *pindex) override;
37 class CZMQPublishHashTransactionNotifier : public CZMQAbstractPublishNotifier
39 public:
40 bool NotifyTransaction(const CTransaction &transaction) override;
43 class CZMQPublishRawBlockNotifier : public CZMQAbstractPublishNotifier
45 public:
46 bool NotifyBlock(const CBlockIndex *pindex) override;
49 class CZMQPublishRawTransactionNotifier : public CZMQAbstractPublishNotifier
51 public:
52 bool NotifyTransaction(const CTransaction &transaction) override;
55 #endif // BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H