OSDN Git Service

Merge pull request #1386 from Bytom/dev
[bytom/bytom.git] / netsync / handle.go
index 40e0085..eea401b 100644 (file)
@@ -24,7 +24,9 @@ import (
 )
 
 const (
-       maxTxChanSize = 10000
+       maxTxChanSize         = 10000
+       maxFilterAddressSize  = 50
+       maxFilterAddressCount = 1000
 )
 
 // Chain is the interface for Bytom core
@@ -153,7 +155,11 @@ func (sm *SyncManager) Switch() *p2p.Switch {
 }
 
 func (sm *SyncManager) handleBlockMsg(peer *peer, msg *BlockMessage) {
-       sm.blockKeeper.processBlock(peer.ID(), msg.GetBlock())
+       block, err := msg.GetBlock()
+       if err != nil {
+               return
+       }
+       sm.blockKeeper.processBlock(peer.ID(), block)
 }
 
 func (sm *SyncManager) handleBlocksMsg(peer *peer, msg *BlocksMessage) {
@@ -167,7 +173,7 @@ func (sm *SyncManager) handleBlocksMsg(peer *peer, msg *BlocksMessage) {
 }
 
 func (sm *SyncManager) handleFilterAddMsg(peer *peer, msg *FilterAddMessage) {
-       peer.filterAdds.Add(hex.EncodeToString(msg.Address))
+       peer.addFilterAddress(msg.Address)
 }
 
 func (sm *SyncManager) handleFilterClearMsg(peer *peer) {
@@ -175,10 +181,6 @@ func (sm *SyncManager) handleFilterClearMsg(peer *peer) {
 }
 
 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)
 }
 
@@ -253,7 +255,7 @@ func (sm *SyncManager) handleGetHeadersMsg(peer *peer, msg *GetHeadersMessage) {
 
 func (sm *SyncManager) handleGetMerkleBlockMsg(peer *peer, msg *GetMerkleBlockMessage) {
        var err error
-       var block *types.Block 
+       var block *types.Block
        if msg.Height != 0 {
                block, err = sm.chain.GetBlockByHeight(msg.Height)
        } else {