[][src]Enum jrpc::Id

pub enum Id {
    String(String),
    Int(i64),
    Null,
}

An identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null and Numbers SHOULD NOT contain fractional parts

The Server MUST reply with the same value in the Response object if included. This member is used to correlate the context between the two objects.

Examples

extern crate serde_json;
use jrpc::Id;

assert_eq!(Id::from(4), Id::Int(4));
assert_eq!(
    serde_json::from_str::<Id>("4").unwrap(),
    Id::Int(4),
);
assert_eq!(
    serde_json::from_str::<Id>("\"foo\"").unwrap(),
    Id::String("foo".into()),
);
assert_eq!(
    serde_json::from_str::<Id>("null").unwrap(),
    Id::Null,
);

Variants

String(String)

An String id

Int(i64)

An Number id that must be an integer.

We intentionally do not allow floating point values.

Null

A null id

Trait Implementations

impl From<String> for Id[src]

impl<'a> From<&'a str> for Id[src]

impl From<i64> for Id[src]

impl From<Id> for IdReq[src]

impl Clone for Id[src]

impl Eq for Id[src]

impl PartialEq<Id> for Id[src]

impl Debug for Id[src]

impl Hash for Id[src]

impl Serialize for Id[src]

impl<'de> Deserialize<'de> for Id[src]

Auto Trait Implementations

impl Send for Id

impl Sync for Id

impl Unpin for Id

impl UnwindSafe for Id

impl RefUnwindSafe for Id

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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