Skip to content

Commit

Permalink
Fix relayMessageCount read lock
Browse files Browse the repository at this point in the history
Signed-off-by: Yilun <[email protected]>
  • Loading branch information
yilunzhang authored and dreamfly281 committed Jan 18, 2019
1 parent 312abe0 commit 0f8815e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
18 changes: 15 additions & 3 deletions net/node/localnode.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ type LocalNode struct {
*messageHandlerStore

sync.RWMutex
syncOnce *sync.Once
relayMessageCount int // count node relayData
syncOnce *sync.Once
relayMessageCount uint64 // count how many messages node has relayed since start
}

func (localNode *LocalNode) MarshalJSON() ([]byte, error) {
Expand All @@ -56,7 +56,7 @@ func (localNode *LocalNode) MarshalJSON() ([]byte, error) {

out["height"] = localNode.GetHeight()
out["version"] = config.Version
out["relayMessageCount"] = localNode.relayMessageCount
out["relayMessageCount"] = localNode.GetRelayMessageCount()

return json.Marshal(out)
}
Expand Down Expand Up @@ -197,6 +197,18 @@ func (localNode *LocalNode) maybeAddRemoteNode(remoteNode *nnetnode.RemoteNode)
return nil
}

func (localNode *LocalNode) GetRelayMessageCount() uint64 {
localNode.RLock()
defer localNode.RUnlock()
return localNode.relayMessageCount
}

func (localNode *LocalNode) IncrementRelayMessageCount() {
localNode.Lock()
localNode.relayMessageCount++
localNode.Unlock()
}

func (localNode *LocalNode) GetTxnPool() *pool.TxnPool {
return localNode.TxnPool
}
Expand Down
5 changes: 2 additions & 3 deletions net/node/message.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,8 @@ func (localNode *LocalNode) remoteMessageRouted(remoteMessage *nnetnode.RemoteMe
log.Errorf("Marshal new relay msg body error: %v", err)
return nil, nil, nil, false
}
localNode.RWMutex.Lock()
localNode.relayMessageCount++
localNode.RWMutex.Unlock()

localNode.IncrementRelayMessageCount()
}

// msg send to local node
Expand Down

0 comments on commit 0f8815e

Please sign in to comment.