Struct Success

Source
pub struct Success<T> {
    pub jsonrpc: V2_0,
    pub result: T,
    pub id: Id,
}
Expand description

The jsonrpc Success response, indicating a successful result.

See the parameters for more information.

§Examples

extern crate serde_json;
use jrpc::{Id, Success};

let data: Vec<u32> = vec![1, 2, 3];
let example = Success::new(Id::from(4), data.clone());
let json = r#"
{
    "jsonrpc": "2.0",
    "result": [1,2,3],
    "id": 4
}
"#;
let json = json.replace("\n", "").replace(" ", "");
let result = serde_json::to_string(&example).unwrap();
assert_eq!(json, result);

Fields§

§jsonrpc: V2_0

A String specifying the version of the JSON-RPC protocol. MUST be exactly “2.0”.

§result: T

The value of this member is determined by the method invoked on the Server.

§id: Id

This member is REQUIRED.

It MUST be the same as the value of the id member in the Request Object.

If there was an error in detecting the id in the Request object (e.g. Parse error/Invalid Request), it MUST be Null.

Implementations§

Source§

impl<T: Serialize + DeserializeOwned> Success<T>

Source

pub fn new(id: Id, result: T) -> Self

Construct a Success, i.e. a Response with a result object.

Source

pub fn to_string(&self) -> String

Helper to serialize the Success as json.

Source

pub fn from_str(s: &str) -> Result<T>

Helper to deserialize the Success from json.

Trait Implementations§

Source§

impl<T: Debug> Debug for Success<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de, T> Deserialize<'de> for Success<T>
where T: Deserialize<'de>,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<T> Serialize for Success<T>
where T: Serialize,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<T> Freeze for Success<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Success<T>
where T: RefUnwindSafe,

§

impl<T> Send for Success<T>
where T: Send,

§

impl<T> Sync for Success<T>
where T: Sync,

§

impl<T> Unpin for Success<T>
where T: Unpin,

§

impl<T> UnwindSafe for Success<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,