Merge pull request #156 from libp2p/fix/issue-155

move timecache check/update after validation
This commit is contained in:
vyzo 2019-01-22 00:51:56 +02:00 committed by GitHub
commit d4589956d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 1 deletions

View File

@ -625,11 +625,11 @@ func (p *PubSub) pushMsg(vals []*topicVal, src peer.ID, msg *Message) {
return
}
// have we already seen and validated this message?
id := msgID(msg.Message)
if p.seenMessage(id) {
return
}
p.markSeen(id)
if len(vals) > 0 || msg.Signature != nil {
// validation is asynchronous and globally throttled with the throttleValidate semaphore.
@ -747,6 +747,12 @@ func (p *PubSub) validateSingleTopic(val *topicVal, src peer.ID, msg *Message) b
}
func (p *PubSub) publishMessage(from peer.ID, pmsg *pb.Message) {
id := msgID(pmsg)
if p.seenMessage(id) {
return
}
p.markSeen(id)
p.notifySubs(pmsg)
p.rt.Publish(from, pmsg)
}