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§
Sourcefn initialize<'a>(
&'a self,
request: InitializeRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<InitializeResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_new<'a>(
&'a self,
request: NewSessionRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<NewSessionResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_load<'a>(
&'a self,
request: LoadSessionRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<LoadSessionResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_list<'a>(
&'a self,
request: ListSessionsRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ListSessionsResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_delete<'a>(
&'a self,
request: DeleteSessionRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<DeleteSessionResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_resume<'a>(
&'a self,
request: ResumeSessionRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ResumeSessionResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_close<'a>(
&'a self,
request: CloseSessionRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<CloseSessionResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn session_prompt<'a>(
&'a self,
request: PromptRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<PromptResponse, AcpError>> + Send + 'a>>
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, ...).
Sourcefn logout<'a>(
&'a self,
request: LogoutRequest,
context: &'a AcpRequestContext,
) -> Pin<Box<dyn Future<Output = Result<LogoutResponse, AcpError>> + Send + 'a>>
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".