Enum SyncResponseMessage

Source
pub enum SyncResponseMessage {
    SyncResponse {
        session_id: u128,
        index: u64,
        commands: Vec<CommandMeta, COMMAND_RESPONSE_MAX>,
    },
    SyncEnd {
        session_id: u128,
        max_index: u64,
        remaining: bool,
    },
    Offer {
        session_id: u128,
        head: CommandId,
    },
    EndSession {
        session_id: u128,
    },
}
Expand description

Messages sent from the responder to the requester.

Variants§

§

SyncResponse

Sent in response to a SyncRequest

Fields

§session_id: u128

A random-value produced by a cryptographically secure RNG.

§index: u64

If the responder intends to send a value of command bytes greater than the responder’s configured maximum, the responder will send more than one SyncResponse. The first message has an index of 1, and each following is incremented.

§commands: Vec<CommandMeta, COMMAND_RESPONSE_MAX>

Commands that the responder believes the requester does not have.

§

SyncEnd

End a sync session if SyncRequest.max_bytes has been reached or there are no remaining commands to send.

Fields

§session_id: u128

A random-value produced by a cryptographically secure RNG corresponding to the session_id in the initial SyncRequest.

§max_index: u64

Largest index of any SyncResponse

§remaining: bool

Set true if this message was sent due to reaching the max_bytes budget.

§

Offer

Message sent by a responder after a sync has been completed, but before the session has ended, if it has new commands in it’s graph. If a requester wishes to respond to this message, it should do so with a new SyncRequest. This message may use the existing session_id.

Fields

§session_id: u128

A random-value produced by a cryptographically secure RNG corresponding to the session_id in the initial SyncRequest.

§head: CommandId

Head of the branch the responder wishes to send.

§

EndSession

Message sent by either requester or responder to indicate the session has been terminated or the session_id is no longer valid.

Fields

§session_id: u128

Implementations§

Trait Implementations§

Source§

impl Debug for SyncResponseMessage

Source§

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

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

impl<'de> Deserialize<'de> for SyncResponseMessage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for SyncResponseMessage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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<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> Same for T

Source§

type Output = T

Should always be Self
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<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
Source§

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

Source§

impl<T> ErasedDestructor for T
where T: 'static,