pub trait PactPluginRpc {
    fn init_plugin<'life0, 'async_trait>(
        &'life0 self,
        request: InitPluginRequest
    ) -> Pin<Box<dyn Future<Output = Result<InitPluginResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn compare_contents<'life0, 'async_trait>(
        &'life0 self,
        request: CompareContentsRequest
    ) -> Pin<Box<dyn Future<Output = Result<CompareContentsResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn configure_interaction<'life0, 'async_trait>(
        &'life0 self,
        request: ConfigureInteractionRequest
    ) -> Pin<Box<dyn Future<Output = Result<ConfigureInteractionResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn generate_content<'life0, 'async_trait>(
        &'life0 self,
        request: GenerateContentRequest
    ) -> Pin<Box<dyn Future<Output = Result<GenerateContentResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn start_mock_server<'life0, 'async_trait>(
        &'life0 self,
        request: StartMockServerRequest
    ) -> Pin<Box<dyn Future<Output = Result<StartMockServerResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn shutdown_mock_server<'life0, 'async_trait>(
        &'life0 self,
        request: ShutdownMockServerRequest
    ) -> Pin<Box<dyn Future<Output = Result<ShutdownMockServerResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn get_mock_server_results<'life0, 'async_trait>(
        &'life0 self,
        request: MockServerRequest
    ) -> Pin<Box<dyn Future<Output = Result<MockServerResults>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn prepare_interaction_for_verification<'life0, 'async_trait>(
        &'life0 self,
        request: VerificationPreparationRequest
    ) -> Pin<Box<dyn Future<Output = Result<VerificationPreparationResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn verify_interaction<'life0, 'async_trait>(
        &'life0 self,
        request: VerifyInteractionRequest
    ) -> Pin<Box<dyn Future<Output = Result<VerifyInteractionResponse>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; fn update_catalogue<'life0, 'async_trait>(
        &'life0 self,
        request: Catalogue
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        Self: 'async_trait,
        'life0: 'async_trait
; }
Expand description

Trait with remote-calling methods for a running plugin

Required Methods§

Send an init request to the plugin process

Send a compare contents request to the plugin process

Send a configure contents request to the plugin process

Send a generate content request to the plugin

Start a mock server

Shutdown a running mock server

Get the matching results from a running mock server

Prepare an interaction for verification. This should return any data required to construct any request so that it can be amended before the verification is run.

Execute the verification for the interaction.

Updates the catalogue. This will be sent when the core catalogue has been updated (probably by a plugin loading).

Implementors§