pub struct IsolatedKillableToolHandler<F> { /* private fields */ }Expand description
Stubborn in-process worker for AbortableAtYield / legacy D-024 fixtures.
Not ProcessIsolated: termination is cancel + dropping the inline drive
(abort-at-yield of the caller task). Self::os_process_isolated is false.
Prefer super::process_tool::ProcessIsolatedToolHandler for real OS kill.
Implementations§
Source§impl<F> IsolatedKillableToolHandler<F>where
F: Fn(ToolCall, ToolCallContext) -> Pin<Box<dyn Future<Output = ToolCompletion> + Send>> + Send + Sync,
impl<F> IsolatedKillableToolHandler<F>where
F: Fn(ToolCall, ToolCallContext) -> Pin<Box<dyn Future<Output = ToolCompletion> + Send>> + Send + Sync,
Trait Implementations§
impl<F> AbortableAtYieldHandler for IsolatedKillableToolHandler<F>where
F: Fn(ToolCall, ToolCallContext) -> Pin<Box<dyn Future<Output = ToolCompletion> + Send>> + Send + Sync,
Source§impl<F> ToolHandler for IsolatedKillableToolHandler<F>where
F: Fn(ToolCall, ToolCallContext) -> Pin<Box<dyn Future<Output = ToolCompletion> + Send>> + Send + Sync,
impl<F> ToolHandler for IsolatedKillableToolHandler<F>where
F: Fn(ToolCall, ToolCallContext) -> Pin<Box<dyn Future<Output = ToolCompletion> + Send>> + Send + Sync,
Source§fn start(
&self,
call: ToolCall,
context: ToolCallContext,
) -> Result<LinkedToolExecutionHandle, ToolStartError>
fn start( &self, call: ToolCall, context: ToolCallContext, ) -> Result<LinkedToolExecutionHandle, ToolStartError>
Start one execution. Must return a handle with a single completion.
Source§fn supports_abort(&self) -> bool
fn supports_abort(&self) -> bool
Whether cooperative/abort cancellation is honored (D-024 / D-028).
Default false (fail-closed): capability booleans must not self-assert.
Source§fn supports_isolated_kill(&self) -> bool
fn supports_isolated_kill(&self) -> bool
Whether isolated kill after grace is available (D-024 / D-028).
Default false (fail-closed). For process-isolated tool classes,
registration also requires
Self::os_process_isolated.Source§fn runtime_owns_abortable_drive(&self) -> bool
fn runtime_owns_abortable_drive(&self) -> bool
Structural AbortableAtYield ownership (V2 §14.2 / D-050). Read more
Source§fn os_process_isolated(&self) -> bool
fn os_process_isolated(&self) -> bool
Structural OS process isolation boundary (V2 §14.3). Read more
Auto Trait Implementations§
impl<F> Freeze for IsolatedKillableToolHandler<F>where
F: Freeze,
impl<F> RefUnwindSafe for IsolatedKillableToolHandler<F>where
F: RefUnwindSafe,
impl<F> Send for IsolatedKillableToolHandler<F>where
F: Send,
impl<F> Sync for IsolatedKillableToolHandler<F>where
F: Sync,
impl<F> Unpin for IsolatedKillableToolHandler<F>where
F: Unpin,
impl<F> UnsafeUnpin for IsolatedKillableToolHandler<F>where
F: UnsafeUnpin,
impl<F> UnwindSafe for IsolatedKillableToolHandler<F>where
F: UnwindSafe,
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