Skip to main content

AcpRequestHandlerExt

Trait AcpRequestHandlerExt 

Source
pub trait AcpRequestHandlerExt: AcpRequestHandler {
    // Required methods
    fn initialize<'a>(
        &'a self,
        request: InitializeRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<InitializeResponse, AcpError>> + Send + 'a>>;
    fn session_new<'a>(
        &'a self,
        request: NewSessionRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<NewSessionResponse, AcpError>> + Send + 'a>>;
    fn session_load<'a>(
        &'a self,
        request: LoadSessionRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<LoadSessionResponse, AcpError>> + Send + 'a>>;
    fn session_list<'a>(
        &'a self,
        request: ListSessionsRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<ListSessionsResponse, AcpError>> + Send + 'a>>;
    fn session_delete<'a>(
        &'a self,
        request: DeleteSessionRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<DeleteSessionResponse, AcpError>> + Send + 'a>>;
    fn session_resume<'a>(
        &'a self,
        request: ResumeSessionRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<ResumeSessionResponse, AcpError>> + Send + 'a>>;
    fn session_close<'a>(
        &'a self,
        request: CloseSessionRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<CloseSessionResponse, AcpError>> + Send + 'a>>;
    fn session_prompt<'a>(
        &'a self,
        request: PromptRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<PromptResponse, AcpError>> + Send + 'a>>;
    fn logout<'a>(
        &'a self,
        request: LogoutRequest,
        context: &'a AcpRequestContext,
    ) -> Pin<Box<dyn Future<Output = Result<LogoutResponse, AcpError>> + Send + 'a>>;
}
Expand description

The per-method typed wrappers. A blanket impl means every AcpRequestHandler gets the typed methods for free.

Required Methods§

Source

fn initialize<'a>( &'a self, request: InitializeRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<InitializeResponse, AcpError>> + Send + 'a>>

Handshake. Typed counterpart to dispatch(Initialize, ...).

Source

fn session_new<'a>( &'a self, request: NewSessionRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<NewSessionResponse, AcpError>> + Send + 'a>>

Opens a new session. Typed counterpart to dispatch(SessionNew, ...).

Source

fn session_load<'a>( &'a self, request: LoadSessionRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<LoadSessionResponse, AcpError>> + Send + 'a>>

Resumes a session from a checkpoint. Typed counterpart to dispatch(SessionLoad, ...).

Source

fn session_list<'a>( &'a self, request: ListSessionsRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<ListSessionsResponse, AcpError>> + Send + 'a>>

Enumerates sessions. Typed counterpart to dispatch(SessionList, ...).

Source

fn session_delete<'a>( &'a self, request: DeleteSessionRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<DeleteSessionResponse, AcpError>> + Send + 'a>>

Removes a session. Typed counterpart to dispatch(SessionDelete, ...).

Source

fn session_resume<'a>( &'a self, request: ResumeSessionRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<ResumeSessionResponse, AcpError>> + Send + 'a>>

Resumes a previously-closed session. Typed counterpart to dispatch(SessionResume, ...).

Source

fn session_close<'a>( &'a self, request: CloseSessionRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<CloseSessionResponse, AcpError>> + Send + 'a>>

Closes a session without deleting it. Typed counterpart to dispatch(SessionClose, ...).

Source

fn session_prompt<'a>( &'a self, request: PromptRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<PromptResponse, AcpError>> + Send + 'a>>

Sends a user turn. Typed counterpart to dispatch(SessionPrompt, ...).

Source

fn logout<'a>( &'a self, request: LogoutRequest, context: &'a AcpRequestContext, ) -> Pin<Box<dyn Future<Output = Result<LogoutResponse, AcpError>> + Send + 'a>>

Terminates the auth session. Typed counterpart to dispatch(Logout, ...).

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§