Skip to main content

zagens_core/engine/
turn_port.rs

1//! Engine turn port (P2 PR3) — shell delegates turn start through core.
2//!
3//! The live `Engine` / `turn_loop` live in `zagens-core`; runtime-server
4//! provides the host adapter. This trait is the stable boundary for `RuntimeThreadManager`.
5
6use async_trait::async_trait;
7
8use super::start_turn::StartTurnParams;
9
10/// Minimal surface `RuntimeThreadManager` needs to drive a turn.
11#[async_trait]
12pub trait TurnEnginePort: Send + Sync {
13    async fn start_turn(&self, params: StartTurnParams) -> anyhow::Result<()>;
14
15    fn cancel_active_turn(&self);
16}