Skip to main content

Transport

Trait Transport 

Source
pub trait Transport:
    Send
    + Sync
    + 'static {
    // Required methods
    fn call(
        &self,
        op: &Operation,
        params: &Params,
        body: Option<&Value>,
        deadline: Duration,
    ) -> impl Future<Output = Result<Value, TransportError>> + Send;
    fn lifecycle(
        &self,
        verb: Lifecycle,
    ) -> impl Future<Output = Result<String, TransportError>> + Send;
    fn wait_idle(
        &self,
        session_id: &str,
        deadline: Duration,
    ) -> impl Future<Output = Result<WaitOutcome, TransportError>> + Send;
    fn fetch_openapi(
        &self,
    ) -> impl Future<Output = Result<Value, TransportError>> + Send;
    fn cli_version(
        &self,
    ) -> impl Future<Output = Result<String, TransportError>> + Send;
}

Required Methods§

Source

fn call( &self, op: &Operation, params: &Params, body: Option<&Value>, deadline: Duration, ) -> impl Future<Output = Result<Value, TransportError>> + Send

Source

fn lifecycle( &self, verb: Lifecycle, ) -> impl Future<Output = Result<String, TransportError>> + Send

Source

fn wait_idle( &self, session_id: &str, deadline: Duration, ) -> impl Future<Output = Result<WaitOutcome, TransportError>> + Send

Source

fn fetch_openapi( &self, ) -> impl Future<Output = Result<Value, TransportError>> + Send

Source

fn cli_version( &self, ) -> impl Future<Output = Result<String, TransportError>> + Send

Raw opencode --version stdout, trimmed, e.g. opencode v2.0.32.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§