Skip to main content

NestedFlowClient

Trait NestedFlowClient 

Source
pub trait NestedFlowClient {
    // Required methods
    fn list_roots(
        &mut self,
        parent_context: &OperationContext,
        child_context: &OperationContext,
    ) -> Result<Vec<RootDefinition>, KernelError>;
    fn create_message(
        &mut self,
        parent_context: &OperationContext,
        child_context: &OperationContext,
        operation: &CreateMessageOperation,
    ) -> Result<CreateMessageResult, KernelError>;
    fn create_elicitation(
        &mut self,
        parent_context: &OperationContext,
        child_context: &OperationContext,
        operation: &CreateElicitationOperation,
    ) -> Result<CreateElicitationResult, KernelError>;
    fn notify_elicitation_completed(
        &mut self,
        parent_context: &OperationContext,
        elicitation_id: &str,
    ) -> Result<(), KernelError>;
    fn notify_resource_updated(
        &mut self,
        parent_context: &OperationContext,
        uri: &str,
    ) -> Result<(), KernelError>;
    fn notify_resources_list_changed(
        &mut self,
        parent_context: &OperationContext,
    ) -> Result<(), KernelError>;

    // Provided method
    fn poll_parent_cancellation(
        &mut self,
        _parent_context: &OperationContext,
    ) -> Result<(), KernelError> { ... }
}
Expand description

Raw client transport used by the kernel to service nested flows on behalf of a parent request.

The kernel owns lineage, policy, and in-flight bookkeeping. Implementors only move the nested request or notification across the client transport and return the decoded response.

Required Methods§

Source

fn list_roots( &mut self, parent_context: &OperationContext, child_context: &OperationContext, ) -> Result<Vec<RootDefinition>, KernelError>

Source

fn create_message( &mut self, parent_context: &OperationContext, child_context: &OperationContext, operation: &CreateMessageOperation, ) -> Result<CreateMessageResult, KernelError>

Source

fn create_elicitation( &mut self, parent_context: &OperationContext, child_context: &OperationContext, operation: &CreateElicitationOperation, ) -> Result<CreateElicitationResult, KernelError>

Source

fn notify_elicitation_completed( &mut self, parent_context: &OperationContext, elicitation_id: &str, ) -> Result<(), KernelError>

Source

fn notify_resource_updated( &mut self, parent_context: &OperationContext, uri: &str, ) -> Result<(), KernelError>

Source

fn notify_resources_list_changed( &mut self, parent_context: &OperationContext, ) -> Result<(), KernelError>

Provided Methods§

Source

fn poll_parent_cancellation( &mut self, _parent_context: &OperationContext, ) -> Result<(), KernelError>

Implementors§