pub enum HotShotEvent<TYPES: NodeType> {
Show 56 variants Shutdown, QuorumProposalRecv(Proposal<TYPES, QuorumProposal<TYPES>>, TYPES::SignatureKey), QuorumVoteRecv(QuorumVote<TYPES>), TimeoutVoteRecv(TimeoutVote<TYPES>), TimeoutVoteSend(TimeoutVote<TYPES>), DaProposalRecv(Proposal<TYPES, DaProposal<TYPES>>, TYPES::SignatureKey), DaProposalValidated(Proposal<TYPES, DaProposal<TYPES>>, TYPES::SignatureKey), DaVoteRecv(DaVote<TYPES>), DaCertificateRecv(DaCertificate<TYPES>), DaCertificateValidated(DaCertificate<TYPES>), QuorumProposalSend(Proposal<TYPES, QuorumProposal<TYPES>>, TYPES::SignatureKey), QuorumVoteSend(QuorumVote<TYPES>), QuorumVoteDependenciesValidated(TYPES::Time), QuorumProposalValidated(QuorumProposal<TYPES>, Leaf<TYPES>), QuorumProposalRequest(ProposalMissing<TYPES>), DaProposalSend(Proposal<TYPES, DaProposal<TYPES>>, TYPES::SignatureKey), DaVoteSend(DaVote<TYPES>), QcFormed(Either<QuorumCertificate<TYPES>, TimeoutCertificate<TYPES>>), DacSend(DaCertificate<TYPES>, TYPES::SignatureKey), ViewChange(TYPES::Time), ViewSyncTimeout(TYPES::Time, u64, ViewSyncPhase), ViewSyncPreCommitVoteRecv(ViewSyncPreCommitVote<TYPES>), ViewSyncCommitVoteRecv(ViewSyncCommitVote<TYPES>), ViewSyncFinalizeVoteRecv(ViewSyncFinalizeVote<TYPES>), ViewSyncPreCommitVoteSend(ViewSyncPreCommitVote<TYPES>), ViewSyncCommitVoteSend(ViewSyncCommitVote<TYPES>), ViewSyncFinalizeVoteSend(ViewSyncFinalizeVote<TYPES>), ViewSyncPreCommitCertificate2Recv(ViewSyncPreCommitCertificate2<TYPES>), ViewSyncCommitCertificate2Recv(ViewSyncCommitCertificate2<TYPES>), ViewSyncFinalizeCertificate2Recv(ViewSyncFinalizeCertificate2<TYPES>), ViewSyncPreCommitCertificate2Send(ViewSyncPreCommitCertificate2<TYPES>, TYPES::SignatureKey), ViewSyncCommitCertificate2Send(ViewSyncCommitCertificate2<TYPES>, TYPES::SignatureKey), ViewSyncFinalizeCertificate2Send(ViewSyncFinalizeCertificate2<TYPES>, TYPES::SignatureKey), ViewSyncTrigger(TYPES::Time), Timeout(TYPES::Time), TransactionsRecv(Vec<TYPES::Transaction>), TransactionSend(TYPES::Transaction, TYPES::SignatureKey), SendPayloadCommitmentAndMetadata(VidCommitment, BuilderCommitment, <TYPES::BlockPayload as BlockPayload<TYPES>>::Metadata, TYPES::Time, BuilderFee<TYPES>), BlockRecv(PackedBundle<TYPES>), BlockReady(VidDisperse<TYPES>, TYPES::Time), LeafDecided(Vec<Leaf<TYPES>>), VidDisperseSend(Proposal<TYPES, VidDisperse<TYPES>>, TYPES::SignatureKey), VidShareRecv(Proposal<TYPES, VidDisperseShare<TYPES>>), VidShareValidated(Proposal<TYPES, VidDisperseShare<TYPES>>), UpgradeProposalRecv(Proposal<TYPES, UpgradeProposal<TYPES>>, TYPES::SignatureKey), UpgradeProposalSend(Proposal<TYPES, UpgradeProposal<TYPES>>, TYPES::SignatureKey), UpgradeVoteRecv(UpgradeVote<TYPES>), UpgradeVoteSend(UpgradeVote<TYPES>), UpgradeCertificateFormed(UpgradeCertificate<TYPES>), UpgradeDecided(UpgradeCertificate<TYPES>), VoteNow(TYPES::Time, VoteDependencyData<TYPES>), ValidatedStateUpdated(TYPES::Time, View<TYPES>), LockedViewUpdated(TYPES::Time), LastDecidedViewUpdated(TYPES::Time), UpdateHighQc(QuorumCertificate<TYPES>), HighQcUpdated(QuorumCertificate<TYPES>),
}
Expand description

All of the possible events that can be passed between Sequecning HotShot tasks

Variants§

§

Shutdown

Shutdown the task

§

QuorumProposalRecv(Proposal<TYPES, QuorumProposal<TYPES>>, TYPES::SignatureKey)

A quorum proposal has been received from the network; handled by the consensus task

§

QuorumVoteRecv(QuorumVote<TYPES>)

A quorum vote has been received from the network; handled by the consensus task

§

TimeoutVoteRecv(TimeoutVote<TYPES>)

A timeout vote recevied from the network; handled by consensus task

§

TimeoutVoteSend(TimeoutVote<TYPES>)

Send a timeout vote to the network; emitted by consensus task replicas

§

DaProposalRecv(Proposal<TYPES, DaProposal<TYPES>>, TYPES::SignatureKey)

A DA proposal has been received from the network; handled by the DA task

§

DaProposalValidated(Proposal<TYPES, DaProposal<TYPES>>, TYPES::SignatureKey)

A DA proposal has been validated; handled by the DA task and VID task

§

DaVoteRecv(DaVote<TYPES>)

A DA vote has been received by the network; handled by the DA task

§

DaCertificateRecv(DaCertificate<TYPES>)

A Data Availability Certificate (DAC) has been recieved by the network; handled by the consensus task

§

DaCertificateValidated(DaCertificate<TYPES>)

A DAC is validated.

§

QuorumProposalSend(Proposal<TYPES, QuorumProposal<TYPES>>, TYPES::SignatureKey)

Send a quorum proposal to the network; emitted by the leader in the consensus task

§

QuorumVoteSend(QuorumVote<TYPES>)

Send a quorum vote to the next leader; emitted by a replica in the consensus task after seeing a valid quorum proposal

§

QuorumVoteDependenciesValidated(TYPES::Time)

All dependencies for the quorum vote are validated.

§

QuorumProposalValidated(QuorumProposal<TYPES>, Leaf<TYPES>)

A quorum proposal with the given parent leaf is validated.

§

QuorumProposalRequest(ProposalMissing<TYPES>)

A quorum proposal is missing for a view that we meed

§

DaProposalSend(Proposal<TYPES, DaProposal<TYPES>>, TYPES::SignatureKey)

Send a DA proposal to the DA committee; emitted by the DA leader (which is the same node as the leader of view v + 1) in the DA task

§

DaVoteSend(DaVote<TYPES>)

Send a DA vote to the DA leader; emitted by DA committee members in the DA task after seeing a valid DA proposal

§

QcFormed(Either<QuorumCertificate<TYPES>, TimeoutCertificate<TYPES>>)

The next leader has collected enough votes to form a QC; emitted by the next leader in the consensus task; an internal event only

§

DacSend(DaCertificate<TYPES>, TYPES::SignatureKey)

The DA leader has collected enough votes to form a DAC; emitted by the DA leader in the DA task; sent to the entire network via the networking task

§

ViewChange(TYPES::Time)

The current view has changed; emitted by the replica in the consensus task or replica in the view sync task; received by almost all other tasks

§

ViewSyncTimeout(TYPES::Time, u64, ViewSyncPhase)

Timeout for the view sync protocol; emitted by a replica in the view sync task

§

ViewSyncPreCommitVoteRecv(ViewSyncPreCommitVote<TYPES>)

Receive a ViewSyncPreCommitVote from the network; received by a relay in the view sync task

§

ViewSyncCommitVoteRecv(ViewSyncCommitVote<TYPES>)

Receive a ViewSyncCommitVote from the network; received by a relay in the view sync task

§

ViewSyncFinalizeVoteRecv(ViewSyncFinalizeVote<TYPES>)

Receive a ViewSyncFinalizeVote from the network; received by a relay in the view sync task

§

ViewSyncPreCommitVoteSend(ViewSyncPreCommitVote<TYPES>)

Send a ViewSyncPreCommitVote from the network; emitted by a replica in the view sync task

§

ViewSyncCommitVoteSend(ViewSyncCommitVote<TYPES>)

Send a ViewSyncCommitVote from the network; emitted by a replica in the view sync task

§

ViewSyncFinalizeVoteSend(ViewSyncFinalizeVote<TYPES>)

Send a ViewSyncFinalizeVote from the network; emitted by a replica in the view sync task

§

ViewSyncPreCommitCertificate2Recv(ViewSyncPreCommitCertificate2<TYPES>)

Receive a ViewSyncPreCommitCertificate2 from the network; received by a replica in the view sync task

§

ViewSyncCommitCertificate2Recv(ViewSyncCommitCertificate2<TYPES>)

Receive a ViewSyncCommitCertificate2 from the network; received by a replica in the view sync task

§

ViewSyncFinalizeCertificate2Recv(ViewSyncFinalizeCertificate2<TYPES>)

Receive a ViewSyncFinalizeCertificate2 from the network; received by a replica in the view sync task

§

ViewSyncPreCommitCertificate2Send(ViewSyncPreCommitCertificate2<TYPES>, TYPES::SignatureKey)

Send a ViewSyncPreCommitCertificate2 from the network; emitted by a relay in the view sync task

§

ViewSyncCommitCertificate2Send(ViewSyncCommitCertificate2<TYPES>, TYPES::SignatureKey)

Send a ViewSyncCommitCertificate2 from the network; emitted by a relay in the view sync task

§

ViewSyncFinalizeCertificate2Send(ViewSyncFinalizeCertificate2<TYPES>, TYPES::SignatureKey)

Send a ViewSyncFinalizeCertificate2 from the network; emitted by a relay in the view sync task

§

ViewSyncTrigger(TYPES::Time)

Trigger the start of the view sync protocol; emitted by view sync task; internal trigger only

§

Timeout(TYPES::Time)

A consensus view has timed out; emitted by a replica in the consensus task; received by the view sync task; internal event only

§

TransactionsRecv(Vec<TYPES::Transaction>)

Receive transactions from the network

§

TransactionSend(TYPES::Transaction, TYPES::SignatureKey)

Send transactions to the network

§

SendPayloadCommitmentAndMetadata(VidCommitment, BuilderCommitment, <TYPES::BlockPayload as BlockPayload<TYPES>>::Metadata, TYPES::Time, BuilderFee<TYPES>)

Event to send block payload commitment and metadata from DA leader to the quorum; internal event only

§

BlockRecv(PackedBundle<TYPES>)

Event when the transactions task has sequenced transactions. Contains the encoded transactions, the metadata, and the view number

§

BlockReady(VidDisperse<TYPES>, TYPES::Time)

Event when the transactions task has a block formed

§

LeafDecided(Vec<Leaf<TYPES>>)

Event when consensus decided on a leaf

§

VidDisperseSend(Proposal<TYPES, VidDisperse<TYPES>>, TYPES::SignatureKey)

Send VID shares to VID storage nodes; emitted by the DA leader

Like HotShotEvent::DaProposalSend.

§

VidShareRecv(Proposal<TYPES, VidDisperseShare<TYPES>>)

Vid disperse share has been received from the network; handled by the consensus task

Like HotShotEvent::DaProposalRecv.

§

VidShareValidated(Proposal<TYPES, VidDisperseShare<TYPES>>)

VID share data is validated.

§

UpgradeProposalRecv(Proposal<TYPES, UpgradeProposal<TYPES>>, TYPES::SignatureKey)

Upgrade proposal has been received from the network

§

UpgradeProposalSend(Proposal<TYPES, UpgradeProposal<TYPES>>, TYPES::SignatureKey)

Upgrade proposal has been sent to the network

§

UpgradeVoteRecv(UpgradeVote<TYPES>)

Upgrade vote has been received from the network

§

UpgradeVoteSend(UpgradeVote<TYPES>)

Upgrade vote has been sent to the network

§

UpgradeCertificateFormed(UpgradeCertificate<TYPES>)

Upgrade certificate has been sent to the network

§

UpgradeDecided(UpgradeCertificate<TYPES>)

A HotShot upgrade was decided

§

VoteNow(TYPES::Time, VoteDependencyData<TYPES>)

Initiate a vote right now for the designated view.

§

ValidatedStateUpdated(TYPES::Time, View<TYPES>)

A undecided view has been created and added to the validated state storage.

§

LockedViewUpdated(TYPES::Time)

A new locked view has been created (2-chain)

§

LastDecidedViewUpdated(TYPES::Time)

A new anchor view has been successfully reached by this node (3-chain).

§

UpdateHighQc(QuorumCertificate<TYPES>)

A new high_qc has been reached by this node.

§

HighQcUpdated(QuorumCertificate<TYPES>)

A new high_qc has been updated in Consensus.

Trait Implementations§

source§

impl<TYPES: Clone + NodeType> Clone for HotShotEvent<TYPES>
where TYPES::SignatureKey: Clone, TYPES::Time: Clone, TYPES::Transaction: Clone, TYPES::BlockPayload: Clone,

source§

fn clone(&self) -> HotShotEvent<TYPES>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<TYPES: Debug + NodeType> Debug for HotShotEvent<TYPES>
where TYPES::SignatureKey: Debug, TYPES::Time: Debug, TYPES::Transaction: Debug, TYPES::BlockPayload: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<TYPES: NodeType> Display for HotShotEvent<TYPES>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<TYPES: PartialEq + NodeType> PartialEq for HotShotEvent<TYPES>

source§

fn eq(&self, other: &HotShotEvent<TYPES>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<TYPES: NodeType> TaskEvent for HotShotEvent<TYPES>

source§

fn shutdown_event() -> Self

The shutdown signal for this event type Read more
source§

impl<TYPES: Eq + NodeType> Eq for HotShotEvent<TYPES>
where TYPES::SignatureKey: Eq, TYPES::Time: Eq, TYPES::Transaction: Eq, TYPES::BlockPayload: Eq,

source§

impl<TYPES: NodeType> StructuralPartialEq for HotShotEvent<TYPES>

Auto Trait Implementations§

§

impl<TYPES> Freeze for HotShotEvent<TYPES>

§

impl<TYPES> RefUnwindSafe for HotShotEvent<TYPES>

§

impl<TYPES> Send for HotShotEvent<TYPES>

§

impl<TYPES> Sync for HotShotEvent<TYPES>

§

impl<TYPES> Unpin for HotShotEvent<TYPES>

§

impl<TYPES> UnwindSafe for HotShotEvent<TYPES>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

§

fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
source§

impl<T> DynClone for T
where T: Clone,

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Gets the layout of the type.
§

impl<D> OwoColorize for D

§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
§

fn black<'a>(&'a self) -> FgColorDisplay<'a, Black, Self>

Change the foreground color to black
§

fn on_black<'a>(&'a self) -> BgColorDisplay<'a, Black, Self>

Change the background color to black
§

fn red<'a>(&'a self) -> FgColorDisplay<'a, Red, Self>

Change the foreground color to red
§

fn on_red<'a>(&'a self) -> BgColorDisplay<'a, Red, Self>

Change the background color to red
§

fn green<'a>(&'a self) -> FgColorDisplay<'a, Green, Self>

Change the foreground color to green
§

fn on_green<'a>(&'a self) -> BgColorDisplay<'a, Green, Self>

Change the background color to green
§

fn yellow<'a>(&'a self) -> FgColorDisplay<'a, Yellow, Self>

Change the foreground color to yellow
§

fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>

Change the background color to yellow
§

fn blue<'a>(&'a self) -> FgColorDisplay<'a, Blue, Self>

Change the foreground color to blue
§

fn on_blue<'a>(&'a self) -> BgColorDisplay<'a, Blue, Self>

Change the background color to blue
§

fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>

Change the foreground color to magenta
§

fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>

Change the background color to magenta
§

fn purple<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>

Change the foreground color to purple
§

fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>

Change the background color to purple
§

fn cyan<'a>(&'a self) -> FgColorDisplay<'a, Cyan, Self>

Change the foreground color to cyan
§

fn on_cyan<'a>(&'a self) -> BgColorDisplay<'a, Cyan, Self>

Change the background color to cyan
§

fn white<'a>(&'a self) -> FgColorDisplay<'a, White, Self>

Change the foreground color to white
§

fn on_white<'a>(&'a self) -> BgColorDisplay<'a, White, Self>

Change the background color to white
§

fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>

Change the foreground color to the terminal default
§

fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>

Change the background color to the terminal default
§

fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>

Change the foreground color to bright black
§

fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>

Change the background color to bright black
§

fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>

Change the foreground color to bright red
§

fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>

Change the background color to bright red
§

fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>

Change the foreground color to bright green
§

fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>

Change the background color to bright green
§

fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>

Change the foreground color to bright yellow
§

fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>

Change the background color to bright yellow
§

fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>

Change the foreground color to bright blue
§

fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>

Change the background color to bright blue
§

fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>

Change the foreground color to bright magenta
§

fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>

Change the background color to bright magenta
§

fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>

Change the foreground color to bright purple
§

fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>

Change the background color to bright purple
§

fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>

Change the foreground color to bright cyan
§

fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>

Change the background color to bright cyan
§

fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>

Change the foreground color to bright white
§

fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>

Change the background color to bright white
§

fn bold<'a>(&'a self) -> BoldDisplay<'a, Self>

Make the text bold
§

fn dimmed<'a>(&'a self) -> DimDisplay<'a, Self>

Make the text dim
§

fn italic<'a>(&'a self) -> ItalicDisplay<'a, Self>

Make the text italicized
§

fn underline<'a>(&'a self) -> UnderlineDisplay<'a, Self>

Make the text italicized
Make the text blink
Make the text blink (but fast!)
§

fn reversed<'a>(&'a self) -> ReversedDisplay<'a, Self>

Swap the foreground and background colors
§

fn hidden<'a>(&'a self) -> HiddenDisplay<'a, Self>

Hide the text
§

fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>

Cross out the text
§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

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
§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

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
§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows 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) -> R
where R: 'a,

Mutably borrows 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
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> SectionExt for T
where T: Display + Send + Sync + 'static,

source§

fn header<C>(self, header: C) -> IndentedSection<C, T>
where C: Display + Send + Sync + 'static,

Add a header to a Section and indent the body Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more