pub trait Convert {
    // Required methods
    fn body_type(&self) -> BodyType;
    fn body_to_operation(
        &self,
        body: RequestBody,
        opcode: Opcode
    ) -> Result<NativeOperation>;
    fn operation_to_body(
        &self,
        operation: NativeOperation
    ) -> Result<RequestBody>;
    fn body_to_result(
        &self,
        body: ResponseBody,
        opcode: Opcode
    ) -> Result<NativeResult>;
    fn result_to_body(&self, result: NativeResult) -> Result<ResponseBody>;
}
Expand description

Definition of the operations converters must implement to allow usage of a specific BodyType.

Required Methods§

source

fn body_type(&self) -> BodyType

Get the BodyType associated with this converter.

source

fn body_to_operation( &self, body: RequestBody, opcode: Opcode ) -> Result<NativeOperation>

Create a native operation object from a request body.

Errors
  • if deserialization fails, ResponseStatus::DeserializingBodyFailed is returned
source

fn operation_to_body(&self, operation: NativeOperation) -> Result<RequestBody>

Create a request body from a native operation object.

Errors
  • if serialization fails, ResponseStatus::SerializingBodyFailed is returned
source

fn body_to_result( &self, body: ResponseBody, opcode: Opcode ) -> Result<NativeResult>

Create a native result object from a response body.

Errors
  • if deserialization fails, ResponseStatus::DeserializingBodyFailed is returned
source

fn result_to_body(&self, result: NativeResult) -> Result<ResponseBody>

Create a response body from a native result object.

Errors
  • if serialization fails, ResponseStatus::SerializingBodyFailed is returned

Implementors§