本文整理匯總了Golang中github.com/FactomProject/factomd/common/interfaces.IState.FollowerInMsgQueue方法的典型用法代碼示例。如果您正苦於以下問題:Golang IState.FollowerInMsgQueue方法的具體用法?Golang IState.FollowerInMsgQueue怎麽用?Golang IState.FollowerInMsgQueue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/FactomProject/factomd/common/interfaces.IState
的用法示例。
在下文中一共展示了IState.FollowerInMsgQueue方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Follower
func Follower(state interfaces.IState) {
for {
msg := <-state.FollowerInMsgQueue()
if state.PrintType(msg.Type()) {
log.Printf("%20s %s\n", "Follower:", msg.String())
}
msg.FollowerExecute(state)
}
}
示例2: LeaderExecute
// Execute the leader functions of the given message
func (m *FactoidTransaction) LeaderExecute(state interfaces.IState) error {
if err := state.GetFactoidState().Validate(1, m.Transaction); err != nil {
return err
}
b, err := m.Transaction.MarshalBinarySig()
if err != nil {
return err
}
msg, err := NewAck(state, primitives.Sha(b))
if err != nil {
return err
}
state.NetworkOutMsgQueue() <- msg
state.FollowerInMsgQueue() <- m // Send factoid trans to follower
state.FollowerInMsgQueue() <- msg // Send the Ack to follower
return nil
}
示例3: LeaderExecute
// Execute the leader functions of the given message
func (m *RevealEntryMsg) LeaderExecute(state interfaces.IState) error {
v := m.Validate(state)
if v <= 0 {
return fmt.Errorf("Reveal is no longer valid")
}
b := m.GetHash()
msg, err := NewAck(state, b)
if err != nil {
return err
}
state.NetworkOutMsgQueue() <- msg
state.FollowerInMsgQueue() <- m // Send factoid trans to follower
state.FollowerInMsgQueue() <- msg // Send the Ack to follower
return nil
}