logo
pub enum SystemMsg {
Show 25 variants AntiEntropyRetry { section_auth: SectionAuthorityProvider, section_signed: KeyedSig, proof_chain: SecuredLinkedList, bounced_msg: Bytes, }, AntiEntropyRedirect { section_auth: SectionAuthorityProvider, section_signed: KeyedSig, section_chain: SecuredLinkedList, bounced_msg: Bytes, }, AntiEntropyUpdate { section_auth: SectionAuthorityProvider, section_signed: KeyedSig, proof_chain: SecuredLinkedList, members: SectionPeers, }, AntiEntropyProbe(XorName), BackPressure(LoadReport), Relocate(RelocateDetails), RelocatePromise(RelocatePromise), JoinRequest(Box<JoinRequest>), JoinResponse(Box<JoinResponse>), JoinAsRelocatedRequest(Box<JoinAsRelocatedRequest>), JoinAsRelocatedResponse(Box<JoinAsRelocatedResponse>), DkgStart { session_id: DkgSessionId, prefix: Prefix, elders: BTreeMap<XorName, SocketAddr>, }, DkgSessionUnknown { session_id: DkgSessionId, message: DkgMessage, }, DkgSessionInfo { session_id: DkgSessionId, prefix: Prefix, elders: BTreeMap<XorName, SocketAddr>, section_auth: AuthorityProof<SectionAuthProof>, message_cache: Vec<DkgMessage>, message: DkgMessage, }, DkgMessage { session_id: DkgSessionId, message: DkgMessage, }, DkgNotReady { session_id: DkgSessionId, message: DkgMessage, }, DkgRetry { message_history: Vec<DkgMessage>, session_id: DkgSessionId, message: DkgMessage, }, DkgFailureObservation { session_id: DkgSessionId, sig: DkgFailureSig, failed_participants: BTreeSet<XorName>, }, DkgFailureAgreement(DkgFailureSigSet), Propose { proposal: Proposal, sig_share: SigShare, }, StartConnectivityTest(XorName), NodeCmd(NodeCmd), NodeQuery(NodeQuery), NodeQueryResponse { response: NodeQueryResponse, correlation_id: MessageId, user: EndUser, }, NodeMsgError { error: Error, correlation_id: MessageId, },
}
Expand description

Message sent over the among nodes

Variants

AntiEntropyRetry

Fields

section_auth: SectionAuthorityProvider

Current SectionAuthorityProvider of the sender’s section.

section_signed: KeyedSig

Sender’s section signature over the SectionAuthorityProvider.

proof_chain: SecuredLinkedList

Sender’s section chain truncated from the dst section key found in the bounced_msg.

bounced_msg: Bytes

Message bounced due to outdated destination section information.

Message sent to a peer when a message with outdated section information was received, attaching the bounced message so the peer can resend it with up to date destination information.

AntiEntropyRedirect

Fields

section_auth: SectionAuthorityProvider

Current SectionAuthorityProvider of a closest section.

section_signed: KeyedSig

Section signature over the SectionAuthorityProvider of the closest section the bounced message shall be resent to.

section_chain: SecuredLinkedList

Section chain (from genesis key) for the closest section.

bounced_msg: Bytes

Message bounced that shall be resent by the peer.

Message sent to a peer when a message needs to be sent to a different and/or closest section, attaching the bounced message so the peer can resend it to the correct section with up to date destination information.

AntiEntropyUpdate

Fields

section_auth: SectionAuthorityProvider

Current SectionAuthorityProvider of our section.

section_signed: KeyedSig

Section signature over the SectionAuthorityProvider of our section the bounced message shall be resent to.

proof_chain: SecuredLinkedList

Our section chain truncated from the triggering msg’s dst section_key (or genesis key for full proof)

members: SectionPeers

Section members

Message to update a section when they bounced a message as untrusted back at us. That section must be behind our current knowledge.

AntiEntropyProbe(XorName)

Probes the network by sending a message to a random dst triggering an AE flow.

BackPressure(LoadReport)

Sent when a msg-consuming node is surpassing certain thresholds for cpu load. It tells msg-producing nodes to back off a bit, proportional to the node’s cpu load, as given by the included LoadReport.

Relocate(RelocateDetails)

Send from a section to the node to be immediately relocated.

RelocatePromise(RelocatePromise)

Send:

  • from a section to a current elder to be relocated after they are demoted.
  • from the node to be relocated back to its section after it was demoted.

JoinRequest(Box<JoinRequest>)

Sent from a bootstrapping peer to the section requesting to join as a new member

JoinResponse(Box<JoinResponse>)

Response to a JoinRequest

JoinAsRelocatedRequest(Box<JoinAsRelocatedRequest>)

Sent from a peer to the section requesting to join as relocated from another section

JoinAsRelocatedResponse(Box<JoinAsRelocatedResponse>)

Response to a JoinAsRelocatedRequest

DkgStart

Fields

session_id: DkgSessionId

The identifier of the DKG session to start.

prefix: Prefix

The section prefix. It matches all the members’ names.

elders: BTreeMap<XorName, SocketAddr>

The section’s complete set of elders as a map from their name to their socket address.

Sent to the new elder candidates to start the DKG process.

DkgSessionUnknown

Fields

session_id: DkgSessionId

The identifier of the DKG session this message is for.

message: DkgMessage

DKG message that came in

Message sent when a DKG session has not started

DkgSessionInfo

Fields

session_id: DkgSessionId

The identifier of the DKG session to start.

prefix: Prefix

The section prefix. It matches all the members’ names.

elders: BTreeMap<XorName, SocketAddr>

The section’s complete set of elders as a map from their name to their socket address.

section_auth: AuthorityProof<SectionAuthProof>

Section authority for the DKG start message

message_cache: Vec<DkgMessage>

Messages processed in the session so far

message: DkgMessage

The original DKG message

DKG session info along with section authority

DkgMessage

Fields

session_id: DkgSessionId

The identifier of the DKG session this message is for.

message: DkgMessage

The DKG message.

Message exchanged for DKG process.

DkgNotReady

Fields

session_id: DkgSessionId

The identifier of the DKG session this message is for.

message: DkgMessage

The sent DKG message.

Message signalling that the node is not ready for the DKG message yet

DkgRetry

Fields

message_history: Vec<DkgMessage>

History of messages received at the sender’s end

session_id: DkgSessionId

The identifier of the DKG session this message is for.

message: DkgMessage

The originally sent DKG message.

Message containing a history of received DKG messages so other nodes can catch-up

DkgFailureObservation

Fields

session_id: DkgSessionId

The DKG key

sig: DkgFailureSig

Signature over the failure

failed_participants: BTreeSet<XorName>

Nodes that failed to participate

Broadcast to the other DKG participants when a DKG failure is observed.

DkgFailureAgreement(DkgFailureSigSet)

Sent to the current elders by the DKG participants when at least majority of them observe a DKG failure.

Propose

Fields

proposal: Proposal

The content of the proposal

sig_share: SigShare

BLS signature share

Message containing a single Proposal to be aggregated in the proposal aggregator.

StartConnectivityTest(XorName)

Message that notifies a section to test the connectivity to a node

NodeCmd(NodeCmd)

Cmds only sent internally in the network.

NodeQuery(NodeQuery)

Queries is a read-only operation.

NodeQueryResponse

Fields

response: NodeQueryResponse

QueryResponse.

correlation_id: MessageId

ID of causing query.

user: EndUser

TEMP: Add user here as part of return flow. Remove this as we have chunk routing etc

The response to a query, containing the query result.

NodeMsgError

Fields

error: Error

The error.

correlation_id: MessageId

ID of causing cmd.

The returned error, from any msg handling on recipient node.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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 !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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