pub struct ConversationSupervisor { /* private fields */ }Implementations§
Source§impl ConversationSupervisor
impl ConversationSupervisor
Sourcepub fn new() -> Result<Self, LiminalError>
pub fn new() -> Result<Self, LiminalError>
§Errors
Returns LiminalError when the beamr scheduler cannot start.
Sourcepub fn spawn(
&self,
config: ConversationConfig,
) -> Result<ConversationActor, LiminalError>
pub fn spawn( &self, config: ConversationConfig, ) -> Result<ConversationActor, LiminalError>
Spawns one supervised conversation actor over the given participant pids.
The participants are linked for crash detection but are NOT forwarded
requests (they are inert from the conversation’s perspective). Use
ConversationSupervisor::spawn_with_participant to attach a real
participant that processes forwarded messages.
§Errors
Returns LiminalError when spawn, boot, or participant linking fails.
Sourcepub fn spawn_with_participant(
&self,
behaviour: Arc<dyn ParticipantBehaviour>,
timeout: Option<Duration>,
mode: ChannelMode,
on_crash: CrashPolicy,
) -> Result<(ConversationActor, ParticipantPid), LiminalError>
pub fn spawn_with_participant( &self, behaviour: Arc<dyn ParticipantBehaviour>, timeout: Option<Duration>, mode: ChannelMode, on_crash: CrashPolicy, ) -> Result<(ConversationActor, ParticipantPid), LiminalError>
Spawns a real participant native process running behaviour, then a
supervised conversation actor linked to it. Requests sent through the
returned actor’s handle are FORWARDED to the participant process, which
genuinely processes them and delivers any reply back into the
conversation — the request-reply path from LIM-005.
Returns the actor and the spawned participant’s pid (for crash injection and linkage assertions).
§Errors
Returns LiminalError when participant spawn, actor spawn, boot, or
linking fails.
Sourcepub fn registered_actor_count(&self) -> usize
pub fn registered_actor_count(&self) -> usize
Number of actor registrations currently held by this supervisor’s runtime. Lifecycle observability for the leak/churn gates: every closed or torn-down conversation must have removed its entry, so this count is pinned bounded across open/close cycles.
Sourcepub fn registered_participant_count(&self) -> usize
pub fn registered_participant_count(&self) -> usize
Number of participant registrations currently held by this supervisor’s
runtime. Same lifecycle-gate role as
Self::registered_actor_count.
Trait Implementations§
Source§impl Clone for ConversationSupervisor
impl Clone for ConversationSupervisor
Source§fn clone(&self) -> ConversationSupervisor
fn clone(&self) -> ConversationSupervisor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more