assignment v0.2.0 Assignment.CachedRoundRobin

Like Assignment.RoundRobin but updates/checks a cache for destination assignments and prefers the cached destination over blindly round-robining to a destination

Link to this section Summary

Link to this section Types

Link to this type state()
state() :: %{
  cache: {atom(), any()},
  destinations: [any()],
  round_robin: Assignment.RoundRobin.state()
}

Link to this section Functions

Link to this function assign(unassigned, destinations, opts \\ %{})
assign([any()], {:state, state()}, map()) :: Assignment.Result.t()
assign([any()], [any()], map()) :: Assignment.Result.t()
Link to this function init(destinations, opts)