ExAgent.Session.TurnPolicy.RoundRobin (ExAgent v0.2.0)

Copy Markdown View Source

Cycles participants in insertion order, forever (each full pass is a "round"). The simplest fair policy — good for chat, brainstorming, or any turn-taking where everyone gets equal time.

ExAgent.Session.start_link(
  shared_state: %{},
  policy: :round_robin,
  participants: [Participant.new(id: "a"), Participant.new(id: "b")]
)

Summary

Types

t()

@type t() :: %ExAgent.Session.TurnPolicy.RoundRobin{
  current: term() | nil,
  ids: [term()],
  index: non_neg_integer()
}