5#ifndef BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H
6#define BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H
17 std::function<std::unique_ptr<CZMQAbstractNotifier>()>;
29 static std::unique_ptr<CZMQAbstractNotifier>
Create() {
30 return std::make_unique<T>();
The block chain is a tree shaped structure starting with the genesis block at the root,...
The basic transaction that is broadcasted on the network and contained in blocks.
std::string GetType() const
virtual void Shutdown()=0
virtual ~CZMQAbstractNotifier()
virtual bool NotifyBlockConnect(const CBlockIndex *pindex)
static const int DEFAULT_ZMQ_SNDHWM
void SetOutboundMessageHighWaterMark(const int sndhwm)
static std::unique_ptr< CZMQAbstractNotifier > Create()
void SetAddress(const std::string &a)
virtual bool NotifyTransactionRemoval(const CTransaction &transaction, uint64_t mempool_sequence)
virtual bool NotifyBlock(const CBlockIndex *pindex)
virtual bool Initialize(void *pcontext)=0
virtual bool NotifyTransaction(const CTransaction &transaction)
std::string GetAddress() const
virtual bool NotifyBlockDisconnect(const CBlockIndex *pindex)
void SetType(const std::string &t)
int GetOutboundMessageHighWaterMark() const
virtual bool NotifyTransactionAcceptance(const CTransaction &transaction, uint64_t mempool_sequence)
int outbound_message_high_water_mark
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...
std::function< std::unique_ptr< CZMQAbstractNotifier >()> CZMQNotifierFactory