[go: up one dir, main page]

reis::ei::handshake

Enum Event

source
#[non_exhaustive]
pub enum Event { HandshakeVersion { version: u32, }, InterfaceVersion { name: String, version: u32, }, Connection { serial: u32, connection: Connection, }, }

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

HandshakeVersion

This event is sent exactly once and immediately after connection to the EIS implementation.

In response, the client must send the ei_handshake.handshake_version request with any version up to including the version provided in this event. See the ei_handshake.handshake_version request for details on what happens next.

Fields

§version: u32

the interface version

§

InterfaceVersion

Notifies the client that the EIS implementation supports the given named interface with the given maximum version number.

The client must not assume those interfaces are supported unless and until those versions have been received.

This request must not be sent for the “ei_handshake” interface, use the handshake_version event instead.

This event may be sent by the EIS implementation for any other supported interface (but not necessarily all supported interfaces) before the ei_handshake.connection event.

Fields

§name: String

the interface name

§version: u32

the interface version

§

Connection

Provides the client with the connection object that is the top-level object for all future requests and events.

This event is sent exactly once at some unspecified time after the client sends the ei_handshake.finish request to the EIS implementation.

The ei_handshake object will be destroyed by the EIS implementation immediately after this event has been sent, a client must not attempt to use it after that point.

The version sent by the EIS implementation is the version of the “ei_connection” interface as announced by ei_handshake.interface_version, or any lower version.

The serial number is the start value of the EIS implementation’s serial number sequence. Clients must not assume any specific value for this serial number. Any future serial number in any event is monotonically increasing by an unspecified amount.

Fields

§serial: u32

this event’s serial number

§connection: Connection

the connection object

Trait Implementations§

source§

impl Debug for Event

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Event

§

impl RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl UnwindSafe for Event

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, 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, 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.