Skip to main content

ModelBackend

Trait ModelBackend 

pub trait ModelBackend {
    // Required method
    fn complete<'a>(
        &'a self,
        request: &'a ModelRequest,
    ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>;

    // Provided method
    fn stream<'a>(
        &'a self,
        request: &'a ModelRequest,
        sink: Box<dyn FnMut(StreamEvent) + 'a>,
    ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>> { ... }
}

Required Methods§

fn complete<'a>( &'a self, request: &'a ModelRequest, ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>

Provided Methods§

fn stream<'a>( &'a self, request: &'a ModelRequest, sink: Box<dyn FnMut(StreamEvent) + 'a>, ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>

Backends may override for live deltas. Dropping the future cancels the local subscription. The returned response, not EOF, is authoritative.

Implementations on Foreign Types§

§

impl<T> ModelBackend for ModelClient<T>
where T: Transport,

§

fn stream<'a>( &'a self, request: &'a ModelRequest, sink: Box<dyn FnMut(StreamEvent) + 'a>, ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>

§

fn complete<'a>( &'a self, request: &'a ModelRequest, ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>

Implementors§