Enum sn_interface::messaging::system::JoinResponse
source · [−]pub enum JoinResponse {
ResourceChallenge {
data_size: usize,
difficulty: u8,
nonce: [u8; 32],
nonce_signature: Signature,
},
Retry {
section_auth: SectionAuthorityProvider,
section_signed: KeyedSig,
proof_chain: SecuredLinkedList,
expected_age: u8,
},
Redirect(SectionAuthorityProvider),
ApprovalShare {
node_state: NodeState,
sig_share: SigShare,
section_auth: SectionAuthorityProvider,
section_signed: KeyedSig,
section_chain: SecuredLinkedList,
members: SectionPeers,
},
Approval {
genesis_key: BlsPublicKey,
section_auth: SectionAuth<SectionAuthorityProvider>,
node_state: SectionAuth<NodeState>,
section_chain: SecuredLinkedList,
},
Rejected(JoinRejectionReason),
}
Expand description
Response to a request to join a section
Variants
ResourceChallenge
Fields
data_size: usize
difficulty: u8
how hard the challenge should be to solve
nonce_signature: Signature
Challenge sent from existing elder nodes to the joining peer for resource proofing.
Retry
Fields
section_auth: SectionAuthorityProvider
Current SectionAuthorityProvider
of the section.
section_signed: KeyedSig
Section signature over the SectionAuthorityProvider
.
proof_chain: SecuredLinkedList
Section chain truncated from the section key found in the join request.
expected_age: u8
The age of the node as expected by the section.
Up to date section information for a joining peer to retry its join request with
Redirect(SectionAuthorityProvider)
Response redirecting a joining peer to join a different section,
containing addresses of nodes that are closer (than the recipient) to the
requested name. The JoinRequest
should be re-sent to these addresses.
ApprovalShare
Send a share of approval that the joining node will aggregate
Approval
Fields
genesis_key: BlsPublicKey
Network genesis key (needed to validate) section_chain
section_auth: SectionAuth<SectionAuthorityProvider>
SectionAuthorityProvider Signed by (current section)
node_state: SectionAuth<NodeState>
Current node’s state
section_chain: SecuredLinkedList
Full verifiable section chain
Message sent to joining peer containing the necessary info to become a member of the section.
Rejected(JoinRejectionReason)
Join was rejected
Trait Implementations
sourceimpl Clone for JoinResponse
impl Clone for JoinResponse
sourcefn clone(&self) -> JoinResponse
fn clone(&self) -> JoinResponse
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for JoinResponse
impl Debug for JoinResponse
sourceimpl<'de> Deserialize<'de> for JoinResponse
impl<'de> Deserialize<'de> for JoinResponse
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl PartialEq<JoinResponse> for JoinResponse
impl PartialEq<JoinResponse> for JoinResponse
sourcefn eq(&self, other: &JoinResponse) -> bool
fn eq(&self, other: &JoinResponse) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &JoinResponse) -> bool
fn ne(&self, other: &JoinResponse) -> bool
This method tests for !=
.
sourceimpl Serialize for JoinResponse
impl Serialize for JoinResponse
impl Eq for JoinResponse
impl StructuralEq for JoinResponse
impl StructuralPartialEq for JoinResponse
Auto Trait Implementations
impl RefUnwindSafe for JoinResponse
impl Send for JoinResponse
impl Sync for JoinResponse
impl Unpin for JoinResponse
impl UnwindSafe for JoinResponse
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn 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>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more