package opentelemetry-client

  1. Overview
  2. Docs

Source file util_net_backoff.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
type t = {
  mutable delay_s: float;
  min_delay_s: float;
  max_delay_s: float;
}

let create () = { delay_s = 0.001; min_delay_s = 0.001; max_delay_s = 20. }

let on_success self = self.delay_s <- max self.min_delay_s (self.delay_s /. 10.)

let on_error self =
  let cur = self.delay_s in
  self.delay_s <- min self.max_delay_s (self.delay_s *. 2.);
  cur