pub trait AsyncDecodable: Sized {
    // Required method
    fn decode_async<'life0, 'async_trait, D>(
        d: &'life0 mut D
    ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
       where D: 'async_trait + AsyncRead + Unpin + Send,
             Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Data which can asynchronously be decoded in a consensus-consistent way.

Required Methods§

source

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl AsyncDecodable for bool

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for f32

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for f64

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for i8

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for i16

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for i32

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for i64

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for i128

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for u8

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for u16

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for u32

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for u64

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for u128

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for usize

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for String

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, 'life0: 'async_trait,

source§

impl AsyncDecodable for BuildMetadata

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Prerelease

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Version

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Url

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Address

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Ep

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Eq

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Fp

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Fq

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Hash

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl AsyncDecodable for Position

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<C: AsyncDecodable + Send> AsyncDecodable for Checkpoint<C>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<H: AsyncDecodable + Send + Clone + Ord + Hashable, C: AsyncDecodable + Send + Clone + Ord + Eq + Debug, const DEPTH: u8> AsyncDecodable for BridgeTree<H, C, DEPTH>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<H: AsyncDecodable + Send + Ord + Clone> AsyncDecodable for MerkleBridge<H>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<H: AsyncDecodable + Send + Ord + Clone> AsyncDecodable for NonEmptyFrontier<H>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send> AsyncDecodable for (T0, T1)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send, T2: AsyncDecodable + Send> AsyncDecodable for (T0, T1, T2)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send, T2: AsyncDecodable + Send, T3: AsyncDecodable + Send> AsyncDecodable for (T0, T1, T2, T3)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send, T2: AsyncDecodable + Send, T3: AsyncDecodable + Send, T4: AsyncDecodable + Send> AsyncDecodable for (T0, T1, T2, T3, T4)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send, T2: AsyncDecodable + Send, T3: AsyncDecodable + Send, T4: AsyncDecodable + Send, T5: AsyncDecodable + Send> AsyncDecodable for (T0, T1, T2, T3, T4, T5)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send, T2: AsyncDecodable + Send, T3: AsyncDecodable + Send, T4: AsyncDecodable + Send, T5: AsyncDecodable + Send, T6: AsyncDecodable + Send> AsyncDecodable for (T0, T1, T2, T3, T4, T5, T6)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T0: AsyncDecodable + Send, T1: AsyncDecodable + Send, T2: AsyncDecodable + Send, T3: AsyncDecodable + Send, T4: AsyncDecodable + Send, T5: AsyncDecodable + Send, T6: AsyncDecodable + Send, T7: AsyncDecodable + Send> AsyncDecodable for (T0, T1, T2, T3, T4, T5, T6, T7)

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T, const N: usize> AsyncDecodable for [T; N]
where T: AsyncDecodable + Send + Debug,

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable + Send + Eq + Hash> AsyncDecodable for HashSet<T>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable + Send + Eq + Hash, U: AsyncDecodable + Send> AsyncDecodable for HashMap<T, U>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable + Send + Ord> AsyncDecodable for BTreeSet<T>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable + Send + Ord, U: AsyncDecodable + Send> AsyncDecodable for BTreeMap<T, U>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable + Send> AsyncDecodable for VecDeque<T>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable + Send> AsyncDecodable for Vec<T>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

impl<T: AsyncDecodable> AsyncDecodable for Option<T>

source§

fn decode_async<'life0, 'async_trait, D>( d: &'life0 mut D ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where D: 'async_trait + AsyncRead + Unpin + Send, Self: 'async_trait, 'life0: 'async_trait,

Implementors§