aboutsummaryrefslogtreecommitdiffstats
path: root/integration_test/latency.go
diff options
context:
space:
mode:
Diffstat (limited to 'integration_test/latency.go')
-rw-r--r--integration_test/latency.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/integration_test/latency.go b/integration_test/latency.go
index 383d069..8f06084 100644
--- a/integration_test/latency.go
+++ b/integration_test/latency.go
@@ -28,17 +28,27 @@ type LatencyModel interface {
Delay() time.Duration
}
-// normalLatencyModel would return latencies in normal distribution.
-type normalLatencyModel struct {
+// NormalLatencyModel would return latencies in normal distribution.
+type NormalLatencyModel struct {
Sigma float64
Mean float64
}
// Delay implements LatencyModel interface.
-func (m *normalLatencyModel) Delay() time.Duration {
+func (m *NormalLatencyModel) Delay() time.Duration {
delay := rand.NormFloat64()*m.Sigma + m.Mean
if delay < 0 {
delay = m.Sigma / 2
}
return time.Duration(delay) * time.Millisecond
}
+
+// FixedLatencyModel return fixed latencies.
+type FixedLatencyModel struct {
+ Latency float64
+}
+
+// Delay implements LatencyModel interface.
+func (m *FixedLatencyModel) Delay() time.Duration {
+ return time.Duration(m.Latency) * time.Millisecond
+}