Enum safe_network::routing::Event[][src]

pub enum Event {
    MessageReceived {
        msg_id: MessageId,
        src: SrcLocation,
        dst: DstLocation,
        msg: Box<MessageReceived>,
    },
    MemberJoined {
        name: XorName,
        previous_name: Option<XorName>,
        age: u8,
    },
    MemberLeft {
        name: XorName,
        age: u8,
    },
    SectionSplit {
        elders: Elders,
        self_status_change: NodeElderChange,
    },
    EldersChanged {
        elders: Elders,
        self_status_change: NodeElderChange,
    },
    RelocationStarted {
        previous_name: XorName,
    },
    Relocated {
        previous_name: XorName,
        new_keypair: Arc<Keypair>,
    },
    ServiceMsgReceived {
        msg_id: MessageId,
        msg: Box<ServiceMsg>,
        auth: AuthorityProof<ServiceAuth>,
        user: EndUser,
        dst_location: DstLocation,
    },
    AdultsChanged {
        remaining: BTreeSet<XorName>,
        added: BTreeSet<XorName>,
        removed: BTreeSet<XorName>,
    },
}
Expand description

An Event raised by a Node or Client via its event sender.

These are sent by sn_routing to the library’s user. It allows the user to handle requests and responses, and to react to changes in the network.

Request and Response events from section locations are only raised once the majority has been reached, i.e. enough members of the section have sent the same message.

Variants

MessageReceived

Fields

msg_id: MessageId

The message ID

src: SrcLocation

Source location

dst: DstLocation

Destination location

msg: Box<MessageReceived>

The message.

Received a message from another Node.

MemberJoined

Fields

name: XorName

Name of the node

previous_name: Option<XorName>

Previous name before relocation or None if it is a new node.

age: u8

Age of the node

A new peer joined our section.

MemberLeft

Fields

name: XorName

Name of the node

age: u8

Age of the node

A node left our section.

SectionSplit

Fields

elders: Elders

The Elders of our section.

self_status_change: NodeElderChange

Promoted, demoted or no change?

Our section has split.

EldersChanged

Fields

elders: Elders

The Elders of our section.

self_status_change: NodeElderChange

Promoted, demoted or no change?

The set of elders in our section has changed.

RelocationStarted

Fields

previous_name: XorName

Previous name before relocation

This node has started relocating to other section. Will be followed by Relocated when the node finishes joining the destination section.

Relocated

Fields

previous_name: XorName

Old name before the relocation.

new_keypair: Arc<Keypair>

New keypair to be used after relocation.

This node has completed relocation to other section.

ServiceMsgReceived

Fields

msg_id: MessageId

The message ID

msg: Box<ServiceMsg>

The content of the message.

auth: AuthorityProof<ServiceAuth>

Data authority

user: EndUser

The end user that sent the message. Its xorname is derived from the client public key, and the socket_id maps against the actual socketaddr

dst_location: DstLocation

DstLocation for the message

Received a message from a peer.

AdultsChanged

Fields

remaining: BTreeSet<XorName>

Remaining Adults in our section.

added: BTreeSet<XorName>

New Adults in our section.

removed: BTreeSet<XorName>

Removed Adults in our section.

Notify the current list of adult nodes, in case of churning.

Trait Implementations

Formats the value using the given formatter. 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.

Set the foreground color generically Read more

Set the background color generically. Read more

Change the foreground color to black

Change the foreground color to black

Change the foreground color to red

Change the foreground color to red

Change the foreground color to green

Change the foreground color to green

Change the foreground color to yellow

Change the foreground color to yellow

Change the foreground color to blue

Change the foreground color to blue

Change the foreground color to magenta

Change the foreground color to magenta

Change the foreground color to purple

Change the foreground color to purple

Change the foreground color to cyan

Change the foreground color to cyan

Change the foreground color to white

Change the foreground color to white

Change the foreground color to bright black

Change the foreground color to bright black

Change the foreground color to bright red

Change the foreground color to bright red

Change the foreground color to bright green

Change the foreground color to bright green

Change the foreground color to bright yellow

Change the foreground color to bright yellow

Change the foreground color to bright blue

Change the foreground color to bright blue

Change the foreground color to bright magenta

Change the foreground color to bright magenta

Change the foreground color to bright purple

Change the foreground color to bright purple

Change the foreground color to bright cyan

Change the foreground color to bright cyan

Change the foreground color to bright white

Change the foreground color to bright white

Make the text bold

Make the text dim

Make the text italicized

Make the text italicized

Make the text blink

Make the text blink (but fast!)

Swap the foreground and background colors

Hide the text

Cross out the text

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more

Sets the foreground color to an RGB value.

Sets the background color to an RGB value.

Apply a runtime-determined style

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 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