pub enum NetworkBridgeTxMessage {
ReportPeer(ReportPeerMessage),
DisconnectPeer(PeerId, PeerSet),
SendValidationMessage(Vec<PeerId>, Versioned<ValidationProtocol, ValidationProtocol, ValidationProtocol>),
SendCollationMessage(Vec<PeerId>, Versioned<CollationProtocol, CollationProtocol>),
SendValidationMessages(Vec<(Vec<PeerId>, Versioned<ValidationProtocol, ValidationProtocol, ValidationProtocol>)>),
SendCollationMessages(Vec<(Vec<PeerId>, Versioned<CollationProtocol, CollationProtocol>)>),
SendRequests(Vec<Requests>, IfDisconnected),
ConnectToValidators {
validator_ids: Vec<Public>,
peer_set: PeerSet,
failed: Sender<usize>,
},
ConnectToResolvedValidators {
validator_addrs: Vec<HashSet<Multiaddr>>,
peer_set: PeerSet,
},
AddToResolvedValidators {
validator_addrs: Vec<HashSet<Multiaddr>>,
peer_set: PeerSet,
},
}
Expand description
Messages received from other subsystems by the network bridge subsystem.
Variants§
ReportPeer(ReportPeerMessage)
Report a peer for their actions.
DisconnectPeer(PeerId, PeerSet)
Disconnect a peer from the given peer-set without affecting their reputation.
SendValidationMessage(Vec<PeerId>, Versioned<ValidationProtocol, ValidationProtocol, ValidationProtocol>)
Send a message to one or more peers on the validation peer-set.
SendCollationMessage(Vec<PeerId>, Versioned<CollationProtocol, CollationProtocol>)
Send a message to one or more peers on the collation peer-set.
SendValidationMessages(Vec<(Vec<PeerId>, Versioned<ValidationProtocol, ValidationProtocol, ValidationProtocol>)>)
Send a batch of validation messages.
NOTE: Messages will be processed in order (at least statement distribution relies on this).
SendCollationMessages(Vec<(Vec<PeerId>, Versioned<CollationProtocol, CollationProtocol>)>)
Send a batch of collation messages.
NOTE: Messages will be processed in order.
SendRequests(Vec<Requests>, IfDisconnected)
Send requests via substrate request/response. Second parameter, tells what to do if we are not yet connected to the peer.
ConnectToValidators
Connect to peers who represent the given validator_ids
.
Also ask the network to stay connected to these peers at least until a new request is issued.
Because it overrides the previous request, it must be ensured
that validator_ids
include all peers the subsystems
are interested in (per PeerSet
).
A caller can learn about validator connections by listening to the
PeerConnected
events from the network bridge.
Fields
ConnectToResolvedValidators
Alternative to ConnectToValidators
in case you already know the Multiaddrs
you want to
be connected to.
Fields
AddToResolvedValidators
Extends the known validators set with new peers we already know the Multiaddrs
, this is
usually needed for validators that change their address mid-session. It is usually called
after a ConnectToResolvedValidators at the beginning of the session.
Trait Implementations§
§impl AssociateOutgoing for NetworkBridgeTxMessage
impl AssociateOutgoing for NetworkBridgeTxMessage
§type OutgoingMessages = NetworkBridgeTxOutgoingMessages
type OutgoingMessages = NetworkBridgeTxOutgoingMessages
Self
.source§impl Debug for NetworkBridgeTxMessage
impl Debug for NetworkBridgeTxMessage
§impl From<NetworkBridgeTxMessage> for AllMessages
impl From<NetworkBridgeTxMessage> for AllMessages
§fn from(message: NetworkBridgeTxMessage) -> AllMessages
fn from(message: NetworkBridgeTxMessage) -> AllMessages
§impl From<NetworkBridgeTxMessage> for ApprovalDistributionOutgoingMessages
impl From<NetworkBridgeTxMessage> for ApprovalDistributionOutgoingMessages
§fn from(message: NetworkBridgeTxMessage) -> ApprovalDistributionOutgoingMessages
fn from(message: NetworkBridgeTxMessage) -> ApprovalDistributionOutgoingMessages
§impl From<NetworkBridgeTxMessage> for ApprovalVotingParallelOutgoingMessages
impl From<NetworkBridgeTxMessage> for ApprovalVotingParallelOutgoingMessages
§fn from(
message: NetworkBridgeTxMessage,
) -> ApprovalVotingParallelOutgoingMessages
fn from( message: NetworkBridgeTxMessage, ) -> ApprovalVotingParallelOutgoingMessages
§impl From<NetworkBridgeTxMessage> for AvailabilityDistributionOutgoingMessages
impl From<NetworkBridgeTxMessage> for AvailabilityDistributionOutgoingMessages
§fn from(
message: NetworkBridgeTxMessage,
) -> AvailabilityDistributionOutgoingMessages
fn from( message: NetworkBridgeTxMessage, ) -> AvailabilityDistributionOutgoingMessages
§impl From<NetworkBridgeTxMessage> for AvailabilityRecoveryOutgoingMessages
impl From<NetworkBridgeTxMessage> for AvailabilityRecoveryOutgoingMessages
§fn from(message: NetworkBridgeTxMessage) -> AvailabilityRecoveryOutgoingMessages
fn from(message: NetworkBridgeTxMessage) -> AvailabilityRecoveryOutgoingMessages
§impl From<NetworkBridgeTxMessage> for BitfieldDistributionOutgoingMessages
impl From<NetworkBridgeTxMessage> for BitfieldDistributionOutgoingMessages
§fn from(message: NetworkBridgeTxMessage) -> BitfieldDistributionOutgoingMessages
fn from(message: NetworkBridgeTxMessage) -> BitfieldDistributionOutgoingMessages
§impl From<NetworkBridgeTxMessage> for CollatorProtocolOutgoingMessages
impl From<NetworkBridgeTxMessage> for CollatorProtocolOutgoingMessages
§fn from(message: NetworkBridgeTxMessage) -> CollatorProtocolOutgoingMessages
fn from(message: NetworkBridgeTxMessage) -> CollatorProtocolOutgoingMessages
§impl From<NetworkBridgeTxMessage> for DisputeDistributionOutgoingMessages
impl From<NetworkBridgeTxMessage> for DisputeDistributionOutgoingMessages
§fn from(message: NetworkBridgeTxMessage) -> DisputeDistributionOutgoingMessages
fn from(message: NetworkBridgeTxMessage) -> DisputeDistributionOutgoingMessages
§impl From<NetworkBridgeTxMessage> for GossipSupportOutgoingMessages
impl From<NetworkBridgeTxMessage> for GossipSupportOutgoingMessages
§fn from(message: NetworkBridgeTxMessage) -> GossipSupportOutgoingMessages
fn from(message: NetworkBridgeTxMessage) -> GossipSupportOutgoingMessages
§impl From<NetworkBridgeTxMessage> for StatementDistributionOutgoingMessages
impl From<NetworkBridgeTxMessage> for StatementDistributionOutgoingMessages
§fn from(
message: NetworkBridgeTxMessage,
) -> StatementDistributionOutgoingMessages
fn from( message: NetworkBridgeTxMessage, ) -> StatementDistributionOutgoingMessages
§impl TryFrom<AllMessages> for NetworkBridgeTxMessage
impl TryFrom<AllMessages> for NetworkBridgeTxMessage
§fn try_from(
message: AllMessages,
) -> Result<NetworkBridgeTxMessage, <NetworkBridgeTxMessage as TryFrom<AllMessages>>::Error>
fn try_from( message: AllMessages, ) -> Result<NetworkBridgeTxMessage, <NetworkBridgeTxMessage as TryFrom<AllMessages>>::Error>
Auto Trait Implementations§
impl Freeze for NetworkBridgeTxMessage
impl !RefUnwindSafe for NetworkBridgeTxMessage
impl Send for NetworkBridgeTxMessage
impl Sync for NetworkBridgeTxMessage
impl Unpin for NetworkBridgeTxMessage
impl !UnwindSafe for NetworkBridgeTxMessage
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read more§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.