Enum safe_network::messaging::node::JoinResponse [−][src]
pub enum JoinResponse { ResourceChallenge { data_size: usize, difficulty: u8, nonce: [u8; 32], nonce_signature: Signature, }, Retry(SectionAuthorityProvider), Redirect(SectionAuthorityProvider), Approval { genesis_key: BlsPublicKey, section_auth: SectionSigned<SectionAuthorityProvider>, node_state: SectionSigned<NodeState>, section_chain: SecuredLinkedList, }, Rejected(JoinRejectionReason), }
Expand description
Response to a request to join a section
Variants
Challenge sent from existing elder nodes to the joining peer for resource proofing.
Show fields
Retry(SectionAuthorityProvider)
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.
Message sent to joining peer containing the necessary info to become a member of the section.
Show fields
Fields of Approval
genesis_key: BlsPublicKey
Network genesis key (needed to validate) section_chain
section_auth: SectionSigned<SectionAuthorityProvider>
SectionAuthorityProvider Signed by (current section)
node_state: SectionSigned<NodeState>
Current node’s state
section_chain: SecuredLinkedList
Full verifiable section chain
Rejected(JoinRejectionReason)
Join was rejected
Trait Implementations
fn 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
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V