Implements a round-robin turn-taking mechanism among participants.
The moderator is typically handled by the `FocusGroup`'s phase logic,
so this flow focuses on cycling through non-moderator agents.
Public fields
current_participant_index
Integer. Current position in the rotation of participants.
Methods
Inherited methods
Method new()
Initialize RoundRobinFlow.
Arguments
agents
A named list of `FGAgent` objects.
moderator_id
Character. The ID of the moderator agent.
Method select_next_speaker()
Selects the next participant in round-robin order.
Usage
RoundRobinFlow$select_next_speaker(focus_group)
Arguments
focus_group
The `FocusGroup` object.
Returns
The selected `FGAgent` (a participant), or `NULL` if no participants.
Method clone()
The objects of this class are cloneable with this method.
Usage
RoundRobinFlow$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.