# `Feline.Processors.TurnManager.Strategy`
[🔗](https://github.com/dimamik/feline/blob/main/lib/feline/processors/turn_manager/strategy.ex#L1)

Behaviour for pluggable turn detection strategies.

A strategy receives frames and returns events (speaking frames,
interruption frames) to be emitted alongside the original frame.

# `handle_frame`

```elixir
@callback handle_frame(frame :: struct(), state :: term()) ::
  {:events, [struct()], state :: term()} | {:ok, state :: term()}
```

# `init`

```elixir
@callback init(opts :: keyword()) :: {:ok, state :: term()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
