sm.blockKeeper.processBlocks(peer.ID(), blocks)
}
+func (sm *SyncManager) handleFilterClearMsg(peer *peer) {
+ peer.filterAdds.Clear()
+}
+
+func (sm *SyncManager) handleFilterLoadMsg(peer *peer, msg *FilterLoadMessage) {
+ if (len(msg.Addresses) == 0) {
+ log.Info("the addresses is empty from filter load message")
+ return
+ }
+ peer.addFilterAddresses(msg.Addresses)
+}
+
func (sm *SyncManager) handleGetBlockMsg(peer *peer, msg *GetBlockMessage) {
var block *types.Block
var err error
}
}
+func (sm *SyncManager) handleGetMerkleBlockMsg(peer *peer, msg *GetMerkleBlockMessage) {}
+
func (sm *SyncManager) handleHeadersMsg(peer *peer, msg *HeadersMessage) {
headers, err := msg.GetHeaders()
if err != nil {
case *BlocksMessage:
sm.handleBlocksMsg(peer, msg)
+ case *FilterLoadMessage:
+ sm.handleFilterLoadMsg(peer, msg)
+
+ case *FilterClearMessage:
+ sm.handleFilterClearMsg(peer)
+
+ case *GetMerkleBlockMessage:
+ sm.handleGetMerkleBlockMsg(peer, msg)
+
default:
log.Errorf("unknown message type %v", reflect.TypeOf(msg))
}