Trait concordium_base::common::Deserial
source · pub trait Deserial: Sized {
// Required method
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>;
}
Expand description
Trait for types which can be recovered from byte sources.
Required Methods§
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
Implementations on Foreign Types§
source§impl Deserial for NonZeroI64
impl Deserial for NonZeroI64
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for Ipv4Addr
impl Deserial for Ipv4Addr
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial> Deserial for Box<T>
impl<T: Deserial> Deserial for Box<T>
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial, const N: usize> Deserial for [T; N]
impl<T: Deserial, const N: usize> Deserial for [T; N]
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for u128
impl Deserial for u128
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<u128>
source§impl Deserial for SocketAddr
impl Deserial for SocketAddr
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial + Eq + Hash, S: BuildHasher + Default> Deserial for HashSet<T, S>
impl<T: Deserial + Eq + Hash, S: BuildHasher + Default> Deserial for HashSet<T, S>
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial + Ord> Deserial for BTreeSet<T>
impl<T: Deserial + Ord> Deserial for BTreeSet<T>
Read a set where the first 8 bytes are taken as length in big endian. The values must be serialized in strictly increasing order.
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for G2Affine
impl Deserial for G2Affine
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<G2Affine>
source§impl<T: Deserial, S: Deserial, U: Deserial> Deserial for (T, S, U)
impl<T: Deserial, S: Deserial, U: Deserial> Deserial for (T, S, U)
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial> Deserial for Option<T>
impl<T: Deserial> Deserial for Option<T>
Deserialization is strict. It only accepts 0
or 1
tags.
fn deserial<X: ReadBytesExt>(source: &mut X) -> ParseResult<Self>
source§impl Deserial for bool
impl Deserial for bool
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroI8
impl Deserial for NonZeroI8
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroI16
impl Deserial for NonZeroI16
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for i128
impl Deserial for i128
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<i128>
source§impl Deserial for NonZeroU16
impl Deserial for NonZeroU16
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroI32
impl Deserial for NonZeroI32
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for PublicKey
impl Deserial for PublicKey
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T> Deserial for PhantomData<T>
impl<T> Deserial for PhantomData<T>
fn deserial<R: ReadBytesExt>(_source: &mut R) -> ParseResult<Self>
source§impl<K: Deserial + Ord, V: Deserial> Deserial for BTreeMap<K, V>
impl<K: Deserial + Ord, V: Deserial> Deserial for BTreeMap<K, V>
Read a map where the first 8 bytes are taken as length in big endian. The values must be serialized in strictly increasing order of keys.
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for Signature
impl Deserial for Signature
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial> Deserial for Vec<T>
impl<T: Deserial> Deserial for Vec<T>
Read a vector where the first 8 bytes are taken as length in big endian.
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for SecretKey
impl Deserial for SecretKey
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for Keypair
impl Deserial for Keypair
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroU32
impl Deserial for NonZeroU32
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for IpAddr
impl Deserial for IpAddr
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for Ipv6Addr
impl Deserial for Ipv6Addr
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroU128
impl Deserial for NonZeroU128
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for G1Affine
impl Deserial for G1Affine
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<G1Affine>
source§impl<L: Deserial, R: Deserial> Deserial for Either<L, R>
impl<L: Deserial, R: Deserial> Deserial for Either<L, R>
fn deserial<X: ReadBytesExt>(source: &mut X) -> ParseResult<Self>
source§impl<T: Deserial> Deserial for Rc<T>
impl<T: Deserial> Deserial for Rc<T>
Use the underlying type’s instance. Note that serial + deserial does not preserve sharing. It will allocate a new copy of the structure.
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroU64
impl Deserial for NonZeroU64
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroU8
impl Deserial for NonZeroU8
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl Deserial for NonZeroI128
impl Deserial for NonZeroI128
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
source§impl<T: Deserial, U: Deserial> Deserial for (T, U)
impl<T: Deserial, U: Deserial> Deserial for (T, U)
fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>
Implementors§
impl Deserial for DelegationTarget
impl Deserial for OpenStatus
impl Deserial for ProtocolVersion
impl Deserial for SchemeId
impl Deserial for VerifyKey
impl Deserial for WasmVersion
impl Deserial for BlockItem<EncodedPayload>
impl Deserial for Payload
impl Deserial for Level1Update
impl Deserial for RootUpdate
impl Deserial for UpdatePayload
impl Deserial for Address
impl Deserial for AbsoluteBlockHeight
impl Deserial for AccountIndex
impl Deserial for AccountThreshold
impl Deserial for AmountFraction
impl Deserial for BakerAggregationSignKey
impl Deserial for BakerAggregationVerifyKey
impl Deserial for BakerElectionSignKey
impl Deserial for BakerElectionVerifyKey
impl Deserial for BakerId
impl Deserial for BakerKeyPairs
impl Deserial for BakerSignatureSignKey
impl Deserial for BakerSignatureVerifyKey
impl Deserial for BlockHeight
impl Deserial for CapitalBound
impl Deserial for CommissionRanges
impl Deserial for CommissionRates
impl Deserial for ContractAddress
impl Deserial for CredentialRegistrationID
impl Deserial for CredentialsPerBlockLimit
impl Deserial for DelegatorId
impl Deserial for DurationSeconds
impl Deserial for ElectionDifficulty
impl Deserial for Energy
impl Deserial for Epoch
impl Deserial for ExchangeRate
impl Deserial for FinalizationIndex
impl Deserial for GenesisIndex
impl Deserial for LeverageFactor
impl Deserial for MintDistributionV0
impl Deserial for MintDistributionV1
impl Deserial for MintRate
impl Deserial for Nonce
impl Deserial for PartsPerHundredThousands
impl Deserial for Slot
impl Deserial for SlotDuration
impl Deserial for TransactionIndex
impl Deserial for UpdateKeysIndex
impl Deserial for UpdateKeysThreshold
impl Deserial for UpdatePublicKey
impl Deserial for UpdateSequenceNumber
impl Deserial for UrlText
impl Deserial for concordium_base::ecvrf::Keypair
impl Deserial for concordium_base::ecvrf::Proof
Implements https://tools.ietf.org/id/draft-irtf-cfrg-vrf-07.html#rfc.section.5.4.4
Construct a Proof
from a slice of bytes. This function always
results in a valid proof object.
impl Deserial for concordium_base::ecvrf::PublicKey
Construct a PublicKey
from a slice of bytes. This function always
results in a valid public key, in particular the curve point is not of
small order (and hence also not a point at infinity).
impl Deserial for concordium_base::ecvrf::SecretKey
Construct a SecretKey
from a slice of bytes.