CatapultServer
v0.5.0.1 (Elephant)
|
A zeromq entity publisher. More...
Classes | |
class | SynchronizedPublisher |
struct | WeakTransactionInfo |
Public Member Functions | |
ZeroMqEntityPublisher (unsigned short port, std::unique_ptr< model::NotificationPublisher > &&pNotificationPublisher) | |
Creates a zeromq entity publisher around port and pNotificationPublisher. More... | |
~ZeroMqEntityPublisher () | |
void | publishBlockHeader (const model::BlockElement &blockElement) |
Publishes the block header in blockElement. More... | |
void | publishDropBlocks (Height height) |
Publishes the height after which all blocks were dropped. More... | |
void | publishTransaction (TransactionMarker topicMarker, const model::TransactionElement &transactionElement, Height height) |
Publishes a transaction using topicMarker, transactionElement and height. More... | |
void | publishTransaction (TransactionMarker topicMarker, const model::TransactionInfo &transactionInfo, Height height) |
Publishes a transaction using topicMarker, transactionInfo and height. More... | |
void | publishTransactionHash (TransactionMarker topicMarker, const model::TransactionInfo &transactionInfo) |
Publishes a transaction hash using topicMarker and transactionInfo. More... | |
void | publishTransactionStatus (const model::Transaction &transaction, const Hash256 &hash, uint32_t status) |
Publishes a transaction status composed of transaction, hash and status. More... | |
void | publishCosignature (const model::TransactionInfo &parentTransactionInfo, const Key &signer, const Signature &signature) |
Publishes a cosignature composed of transaction info (parentTransactionInfo), signer and signature. More... | |
Private Types | |
using | MessagePayloadBuilder = consumer< zmq::multipart_t & > |
Private Member Functions | |
void | publishTransaction (TransactionMarker topicMarker, const WeakTransactionInfo &transactionInfo, Height height) |
void | publish (const std::string &topicName, TransactionMarker topicMarker, const WeakTransactionInfo &transactionInfo, const MessagePayloadBuilder &payloadBuilder) |
Private Attributes | |
std::unique_ptr< model::NotificationPublisher > | m_pNotificationPublisher |
std::unique_ptr< SynchronizedPublisher > | m_pSynchronizedPublisher |
A zeromq entity publisher.
|
private |
|
explicit |
Creates a zeromq entity publisher around port and pNotificationPublisher.
|
default |
|
private |
void catapult::zeromq::ZeroMqEntityPublisher::publishBlockHeader | ( | const model::BlockElement & | blockElement | ) |
Publishes the block header in blockElement.
void catapult::zeromq::ZeroMqEntityPublisher::publishCosignature | ( | const model::TransactionInfo & | parentTransactionInfo, |
const Key & | signer, | ||
const Signature & | signature | ||
) |
Publishes a cosignature composed of transaction info (parentTransactionInfo), signer and signature.
void catapult::zeromq::ZeroMqEntityPublisher::publishDropBlocks | ( | Height | height | ) |
Publishes the height after which all blocks were dropped.
void catapult::zeromq::ZeroMqEntityPublisher::publishTransaction | ( | TransactionMarker | topicMarker, |
const model::TransactionElement & | transactionElement, | ||
Height | height | ||
) |
Publishes a transaction using topicMarker, transactionElement and height.
void catapult::zeromq::ZeroMqEntityPublisher::publishTransaction | ( | TransactionMarker | topicMarker, |
const model::TransactionInfo & | transactionInfo, | ||
Height | height | ||
) |
Publishes a transaction using topicMarker, transactionInfo and height.
|
private |
void catapult::zeromq::ZeroMqEntityPublisher::publishTransactionHash | ( | TransactionMarker | topicMarker, |
const model::TransactionInfo & | transactionInfo | ||
) |
Publishes a transaction hash using topicMarker and transactionInfo.
void catapult::zeromq::ZeroMqEntityPublisher::publishTransactionStatus | ( | const model::Transaction & | transaction, |
const Hash256 & | hash, | ||
uint32_t | status | ||
) |
Publishes a transaction status composed of transaction, hash and status.
|
private |
|
private |