From 67eece25262fcbc36c93daf67da5de2daa01de49 Mon Sep 17 00:00:00 2001 From: vyzo Date: Mon, 21 Jan 2019 23:57:59 +0200 Subject: [PATCH] move timecache check/update after validation --- pubsub.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pubsub.go b/pubsub.go index 54f82b1..2a34bee 100644 --- a/pubsub.go +++ b/pubsub.go @@ -625,12 +625,6 @@ func (p *PubSub) pushMsg(vals []*topicVal, src peer.ID, msg *Message) { return } - 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. // the purpose of the global throttle is to bound the goncurrency possible from incoming @@ -747,6 +741,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) }