You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
// Copyright (c) 2015 The Bitcoin Core developers |
|
// Distributed under the MIT software license, see the accompanying |
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php. |
|
|
|
#ifndef BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H |
|
#define BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H |
|
|
|
#include "zmqabstractnotifier.h" |
|
|
|
class CBlockIndex; |
|
|
|
class CZMQAbstractPublishNotifier : public CZMQAbstractNotifier |
|
{ |
|
private: |
|
uint32_t nSequence; //! upcounting per message sequence number |
|
|
|
public: |
|
|
|
/* send zmq multipart message |
|
parts: |
|
* command |
|
* data |
|
* message sequence number |
|
*/ |
|
bool SendMessage(const char *command, const void* data, size_t size); |
|
|
|
bool Initialize(void *pcontext); |
|
void Shutdown(); |
|
}; |
|
|
|
class CZMQPublishHashBlockNotifier : public CZMQAbstractPublishNotifier |
|
{ |
|
public: |
|
bool NotifyBlock(const CBlockIndex *pindex); |
|
}; |
|
|
|
class CZMQPublishHashTransactionNotifier : public CZMQAbstractPublishNotifier |
|
{ |
|
public: |
|
bool NotifyTransaction(const CTransaction &transaction); |
|
}; |
|
|
|
class CZMQPublishRawBlockNotifier : public CZMQAbstractPublishNotifier |
|
{ |
|
public: |
|
bool NotifyBlock(const CBlockIndex *pindex); |
|
}; |
|
|
|
class CZMQPublishRawTransactionNotifier : public CZMQAbstractPublishNotifier |
|
{ |
|
public: |
|
bool NotifyTransaction(const CTransaction &transaction); |
|
}; |
|
|
|
#endif // BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H
|
|
|