assignment v0.2.0 Assignment.RoundRobin

Assigns a list of assignees to a list of destinations. Supports single-pass assignment as well as looping through the destinations

Link to this section Summary

Link to this section Types

Link to this type state()
state() :: %{destinations: [any()], destination_queue: [any()]}

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 assign_one(current_assignee, state)
assign_one(Assignment.Result.assignee(), state()) :: {:error, :no_destinations}
assign_one(Assignment.Result.assignee(), state()) ::
  {:ok, {state(), Assignment.Result.assignment()}}
Link to this function init(destinations)