go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/simutil/event_every.go (about)

     1  /*
     2  
     3  Copyright (c) 2023 - Present. Will Charczuk. All rights reserved.
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     5  
     6  */
     7  
     8  package simutil
     9  
    10  import (
    11  	"context"
    12  	"time"
    13  )
    14  
    15  // EventEvery returns an interval provider for an event source that returns
    16  // a result from `RandomInterval`.
    17  func EventEvery(lambda time.Duration) func(context.Context) time.Duration {
    18  	return func(_ context.Context) time.Duration {
    19  		return PoissonDuration(lambda)
    20  	}
    21  }