Skip to main content

AnyOperation

Struct AnyOperation 

Source
pub struct AnyOperation {
    pub hash: Hash,
    pub header: AnyHeader,
    pub body: Option<Body>,
}
Expand description

Combined AnyHeader, Body and operation Hash (Operation Id).

§Extensions

AnyOperation does not know the concrete extensions type. On this level it is only concerned with the validity and integrity of the append-only log type itself which is enough for most low-level protocols, such as the sync protocol.

Applications usually want to attach custom extensions to the operation, if you need to know the type you can easily convert from AnyOperation to Operation with an explicit E extensions type.

Fields§

§hash: Hash§header: AnyHeader§body: Option<Body>

Trait Implementations§

Source§

impl Chain<Hash> for AnyOperation

Pointer at previous entry in log which gives us the integrity guarantee of the “hash chain”. The first entry in a log returns None.
Source§

fn seq_num(&self) -> SeqNum

Sequence numbers are helpful to fastly detect forks and use the much faster and optimized diffing strategy when the local log is not forked.
Source§

impl Clone for AnyOperation

Source§

fn clone(&self) -> AnyOperation

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AnyOperation

Source§

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

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

impl Digest<Hash> for AnyOperation

Source§

fn hash(&self) -> Hash

Hash digest of peer-to-peer data-type which can be used as the identifier.
Source§

impl Offchain<Hash> for AnyOperation

Source§

fn payload(&self) -> Option<&Body>

Authenticated payload. Read more
Source§

fn payload_hash(&self) -> Option<Hash>

Hash digest of the payload.
Source§

fn payload_size(&self) -> PayloadSize

Size in bytes of the payload.
Source§

impl Provenance<VerifyingKey> for AnyOperation

Source§

fn author(&self) -> VerifyingKey

Identity of the author of data-type.
Source§

fn verify(&self) -> bool

Checks if data-type and given author is authentic.
Source§

impl TryFrom<(Vec<u8>, Option<Vec<u8>>)> for AnyOperation

Source§

type Error = HeaderError

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

fn try_from(bytes: RawOperation) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<E> TryFrom<AnyOperation> for Operation<E>
where E: Extensions,

Source§

type Error = HeaderError

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

fn try_from(any_operation: AnyOperation) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more