pub enum HandlerOut {
Established(Enr, SocketAddr, ConnectionDirection),
Request(NodeAddress, Box<Request>),
Response(NodeAddress, Box<Response>),
WhoAreYou(WhoAreYouRef),
RequestFailed(RequestId, RequestError),
UnverifiableEnr {
enr: Enr,
socket: SocketAddr,
node_id: NodeId,
},
ExpiredSessions(Vec<NodeAddress>),
}Expand description
Messages sent between a node on the network and Handler.
Variants§
Established(Enr, SocketAddr, ConnectionDirection)
A session has been established with a node.
A session is only considered established once we have received a signed ENR from the
node and either the observed SocketAddr matches the one declared in the ENR or the
ENR declares no SocketAddr.
Request(NodeAddress, Box<Request>)
A Request has been received from a node on the network.
Response(NodeAddress, Box<Response>)
A Response has been received from a node on the network.
WhoAreYou(WhoAreYouRef)
An unknown source has requested information from us. Return the reference with the known
ENR of this node (if known). See the HandlerIn::WhoAreYou variant.
RequestFailed(RequestId, RequestError)
An RPC request failed.
This returns the request ID and an error indicating why the request failed.
UnverifiableEnr
A peer advertising an ENR that doesn’t verify against its observed socket and node ID.
These peers are denied sessions.
ExpiredSessions(Vec<NodeAddress>)
These sessions have expired from the cache.
Trait Implementations§
Source§impl Clone for HandlerOut
impl Clone for HandlerOut
Source§fn clone(&self) -> HandlerOut
fn clone(&self) -> HandlerOut
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HandlerOut
impl Debug for HandlerOut
Source§impl PartialEq for HandlerOut
impl PartialEq for HandlerOut
impl Eq for HandlerOut
impl StructuralPartialEq for HandlerOut
Auto Trait Implementations§
impl Freeze for HandlerOut
impl RefUnwindSafe for HandlerOut
impl Send for HandlerOut
impl Sync for HandlerOut
impl Unpin for HandlerOut
impl UnwindSafe for HandlerOut
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.