[][src]Enum sp_rpc::list::ListOrValue

pub enum ListOrValue<T> {
    List(Vec<T>),
    Value(T),
}

RPC list or value wrapper.

For some RPCs it's convenient to call them with either a single value or a whole list of values to get a proper response. In theory you could do a batch query, but it's:

  1. Less convenient in client libraries
  2. If the response value is small, the protocol overhead might be dominant.

Also it's nice to be able to maintain backward compatibility for methods that were initially taking a value and now we want to expand them to take a list.

Variants

List(Vec<T>)

A list of values of given type.

Value(T)

A single value of given type.

Implementations

impl<T> ListOrValue<T>[src]

pub fn map<F: Fn(T) -> X, X>(self, f: F) -> ListOrValue<X>[src]

Map every contained value using function F.

This allows to easily convert all values in any of the variants.

Trait Implementations

impl<T: Debug> Debug for ListOrValue<T>[src]

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

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

impl<T> From<Vec<T, Global>> for ListOrValue<T>[src]

impl<T: PartialEq> PartialEq<ListOrValue<T>> for ListOrValue<T>[src]

impl<T> Serialize for ListOrValue<T> where
    T: Serialize
[src]

impl<T> StructuralPartialEq for ListOrValue<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for ListOrValue<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for ListOrValue<T> where
    T: Send
[src]

impl<T> Sync for ListOrValue<T> where
    T: Sync
[src]

impl<T> Unpin for ListOrValue<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for ListOrValue<T> where
    T: UnwindSafe
[src]

Blanket Implementations

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

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

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Same<T> for T

type Output = T

Should always be Self

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<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,