diff --git a/peer/cwtch_peer.go b/peer/cwtch_peer.go index 7fbbc35..ddc2791 100644 --- a/peer/cwtch_peer.go +++ b/peer/cwtch_peer.go @@ -1550,6 +1550,11 @@ func (cp *cwtchPeer) eventHandler() { // check if the current map of experiments satisfies the extension requirements if !cp.checkExtensionExperiment(extension) { log.Debugf("skipping extension (%s) ..not all experiments satisfied", extension) + if cp.checkEventExperiment(extension, ev.EventType) { + // If this experiment was enabled...we might have processed this event... + // To avoid flagging an error later on in this method we set processed to true. + processed = true + } continue } @@ -1568,6 +1573,17 @@ func (cp *cwtchPeer) eventHandler() { } } +func (cp *cwtchPeer) checkEventExperiment(hook ProfileHook, event event.Type) bool { + cp.experimentsLock.Lock() + defer cp.experimentsLock.Unlock() + for hookEvent := range hook.events { + if event == hookEvent { + return true + } + } + return false +} + func (cp *cwtchPeer) checkExtensionExperiment(hook ProfileHook) bool { cp.experimentsLock.Lock() defer cp.experimentsLock.Unlock()