[−][src]Enum discv5::session::SessionState
The current state of the session. This enum holds the encryption keys for various states.
Variants
A WHOAREYOU packet has been sent, and the Session is awaiting an Authentication response.
A RANDOM packet has been sent and the Session is awaiting a WHOAREYOU response.
AwaitingResponse(Keys)
An AuthMessage has been sent with a new set of generated keys. Once a response has been received that we can decrypt, the session transitions to an established state, replacing any current set of keys. No Session is currently active.
An established Session has received a WHOAREYOU. In this state, messages are sent
out with the established sessions keys and new encrypted messages are first attempted to
be decrypted with the established session keys, upon failure, the new keys are tried. If
the new keys are successful, the session keys are updated and the state progresses to
Established
.
Fields of EstablishedAwaitingResponse
Established(Keys)
A Session has been established and the ENR IP matches the source IP.
Processing has failed. Fatal error.
Trait Implementations
impl PartialEq<SessionState> for SessionState
[src]
fn eq(&self, other: &SessionState) -> bool
[src]
fn ne(&self, other: &SessionState) -> bool
[src]
impl StructuralPartialEq for SessionState
[src]
Auto Trait Implementations
impl RefUnwindSafe for SessionState
impl Send for SessionState
impl Sync for SessionState
impl Unpin for SessionState
impl UnwindSafe for SessionState
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,