pub enum ECIESState {
Auth,
Ack,
InitialHeader,
Header,
Body,
}
Expand description
Current ECIES state of a connection
Variants§
Auth
The first stage of the ECIES handshake, where each side of the connection sends an auth message containing the ephemeral public key, signature of the public key, nonce, and other metadata.
Ack
The second stage of the ECIES handshake, where each side of the connection sends an ack message containing the nonce and other metadata.
InitialHeader
This is the same as the ECIESState::Header
stage, but occurs only after the first
ECIESState::Ack
message. This is so that the initial handshake message can be properly
validated.
Header
The third stage of the ECIES handshake, where header is parsed, message integrity checks performed, and message is decrypted.
Body
The final stage, where the ECIES message is actually read and returned by the ECIES codec.
Trait Implementations§
Source§impl Clone for ECIESState
impl Clone for ECIESState
Source§fn clone(&self) -> ECIESState
fn clone(&self) -> ECIESState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ECIESState
impl Debug for ECIESState
Source§impl PartialEq for ECIESState
impl PartialEq for ECIESState
impl Copy for ECIESState
impl Eq for ECIESState
impl StructuralPartialEq for ECIESState
Auto Trait Implementations§
impl Freeze for ECIESState
impl RefUnwindSafe for ECIESState
impl Send for ECIESState
impl Sync for ECIESState
impl Unpin for ECIESState
impl UnwindSafe for ECIESState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Auth
: 0 bytesAck
: 0 bytesInitialHeader
: 0 bytesHeader
: 0 bytesBody
: 0 bytes