#[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
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.
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.
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.