Skip to main content

Request

Trait Request 

Source
pub trait Request<P>
where P: Protocol,
{ type Response; type Error: From<ClientError>; // Required methods fn message(&self) -> Result<EncodedMessage, Self::Error>; fn decode(&self, message: Message) -> Result<Self::Response, Self::Error>; }
Expand description

Pair a prepared protocol request with checked terminal-response decoding.

Application errors belong to the implementation, so they can retain an original peer error or legacy JSON response rather than flattening it into a generic transport error. Implementations borrow prepared inputs.

Required Associated Types§

Source

type Response

Checked operation result, independent of SDK domain behavior.

Source

type Error: From<ClientError>

Application error that can also retain a local transport failure.

Required Methods§

Source

fn message(&self) -> Result<EncodedMessage, Self::Error>

Encode the prepared request without performing I/O.

Source

fn decode(&self, message: Message) -> Result<Self::Response, Self::Error>

Check the expected terminal response name, generation, and payload.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl Request<ControlProtocol> for CompactDisks

Source§

impl Request<ControlProtocol> for CreateBranch

Source§

impl Request<ControlProtocol> for CreateCheckpoint

Source§

impl Request<ControlProtocol> for CreateDiskCheckpoint

Source§

impl Request<ControlProtocol> for GetCapabilities

Source§

impl Request<ControlProtocol> for GetCpuState

Source§

impl Request<ControlProtocol> for GetMemoryState

Source§

impl Request<ControlProtocol> for GetPauseState

Source§

impl Request<ControlProtocol> for GetRuntimeCapabilities

Source§

impl Request<ControlProtocol> for GrowRootDisk

Source§

impl Request<ControlProtocol> for PauseRuntime

Source§

impl Request<ControlProtocol> for ResumeRuntime

Source§

impl Request<ControlProtocol> for SetCpuTarget

Source§

impl Request<ControlProtocol> for SetMemoryTarget

Source§

impl Request<ControlProtocol> for UpdateSecrets