Enum gossipsub::MessageAuthenticity[][src]

pub enum MessageAuthenticity {
    Signed(Keypair),
    Author(PeerId),
    RandomAuthor,
    Anonymous,
}

Determines if published messages should be signed or not.

Without signing, a number of privacy preserving modes can be selected.

NOTE: The default validation settings are to require signatures. The ValidationMode should be updated in the GossipsubConfig to allow for unsigned messages.

Variants

Signed(Keypair)

Message signing is enabled. The author will be the owner of the key and the sequence number will be a random number.

Author(PeerId)

Message signing is disabled.

The specified PeerId will be used as the author of all published messages. The sequence number will be randomized.

RandomAuthor

Message signing is disabled.

A random PeerId will be used when publishing each message. The sequence number will be randomized.

Anonymous

Message signing is disabled.

The author of the message and the sequence numbers are excluded from the message.

NOTE: Excluding these fields may make these messages invalid by other nodes who enforce validation of these fields. See ValidationMode in the GossipsubConfig for how to customise this for rust-libp2p gossipsub. A custom message_id function will need to be set to prevent all messages from a peer being filtered as duplicates.

Implementations

impl MessageAuthenticity[src]

pub fn is_signing(&self) -> bool[src]

Returns true if signing is enabled.

pub fn is_anonymous(&self) -> bool[src]

Trait Implementations

impl Clone for MessageAuthenticity[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,