pub enum SpawnClaimResult {
Claimed {
spawn_handle_id: Uuid,
claim_token: Uuid,
},
ClaimedPendingChild {
spawn_handle_id: Uuid,
claim_token: Uuid,
},
AlreadyRunning {
child_session_id: SessionId,
claim_token: Uuid,
},
AlreadySettled {
child_session_id: SessionId,
terminal_status: String,
terminal_result: String,
},
}Expand description
Result of attempting to claim a subagent spawn slot.
Variants§
Claimed
First claim — child session does not yet exist.
Proceed to create the child, then call register_child_session.
ClaimedPendingChild
Row exists but child_session_id was never registered (crash between
claim and register_child_session). Re-create the child and call
register_child_session — same flow as Claimed.
AlreadyRunning
Child session was created and is still running. Reattach: wait for the existing child and settle with the stored claim_token.
Fields
AlreadySettled
Child already finished on a previous execution. Fast-path: return the stored result immediately without waiting.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SpawnClaimResult
impl RefUnwindSafe for SpawnClaimResult
impl Send for SpawnClaimResult
impl Sync for SpawnClaimResult
impl Unpin for SpawnClaimResult
impl UnsafeUnpin for SpawnClaimResult
impl UnwindSafe for SpawnClaimResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request