Enum safe_network::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_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
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.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more