Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultSubscriber ¶
type DefaultSubscriber struct{}
DefaultSubscriber 默认消息订阅者
func (DefaultSubscriber) OnMessage ¶
func (DefaultSubscriber) OnMessage(*Message)
OnMessage 接收广播的消息进行处理 @param *Message
type MessageBus ¶
type MessageBus interface {
// A subscriber register on s specific topic.
// When a message on this topic is published, the subscriber's OnMessage() is called.
Register(topic Topic, sub Subscriber)
// UnRegister unregister the subscriber from message bus.
UnRegister(topic Topic, sub Subscriber)
// Used to publish a message on this message bus to notify subscribers.
Publish(topic Topic, payload interface{})
// Used to publish a message on this message bus to notify subscribers.
// Safe mode, make sure the subscriber's OnMessage() is called with the order of a message on this topic is published.
PublishSafe(topic Topic, payload interface{})
// Used to publish a message on this message bus to notify subscribers.
// Sync mod, make sure all messages are completed sequentially.
PublishSync(topic Topic, payload interface{})
// Close the message bus, all publishes are ignored.
Close()
}
MessageBus provides a pub-sub interface for cross-module communication
func NewMessageBus ¶
func NewMessageBus() MessageBus
NewMessageBus 构造一个MessageBus对象 @return MessageBus
type Subscriber ¶
type Subscriber interface {
// When a message with topic A is published on the message bus,
// all the subscribers's OnMessage() methods of topic A are called.
OnMessage(*Message)
// When the message bus is shutting down,
OnQuit()
}
Subscriber should implement these methods,
type Topic ¶
type Topic int
nolint Topic 消息主题
const ( Invalid Topic = iota ProposedBlock VerifyBlock VerifyResult CommitBlock ProposeState TxPoolSignal BlockInfo ContractEventInfo SendConsensusMsg RecvConsensusMsg SendSyncBlockMsg RecvSyncBlockMsg SendTxPoolMsg RecvTxPoolMsg BuildProposal ChainConfig CertManageCertsDelete CertManageCertsFreeze CertManageCertsUnfreeze CertManageCertsRevoke CertManageCertsAliasUpdate CertManageCertsAliasDelete PubkeyManageAdd PubkeyManageDelete // For Consistent Engine SendConsistentMsg RecvConsistentMsg // For new transactions signal for maxbft ProposeBlock MaxbftEpochConf // solve random tx RwSetVerifyFailTxs // used to cache the deduction account address to avoid reading the database every time PayerConfig )
消息主题类型
Source Files
¶
- message_bus.go
- topic_const.go
- topic_string.go
Click to show internal directories.
Click to hide internal directories.