Skip to main content

RemoteWorkspaceExecutionLease

Trait RemoteWorkspaceExecutionLease 

Source
pub trait RemoteWorkspaceExecutionLease:
    Send
    + Sync
    + 'static {
    // Required methods
    fn wait_lost<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn release<'async_trait>(
        self: Box<Self>,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait;
}
Expand description
  • Provider-owned serialization fence held around one complete workspace tool
  • execution. wait_lost must remain pending while the fence is authoritative
  • and is cancellation-safe: the runtime selects it against tool execution.
  • release is called after every normal tool result or error, including after
  • wait_lost reports that the fence ended. Implementations must also fail
  • closed when the guard or an in-progress release future is dropped (for
  • example, keep a remotely bounded lease alive until in-flight operations are
  • quiescent or its server-side timeout expires).

Required Methods§

Source

fn wait_lost<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn release<'async_trait>( self: Box<Self>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§