pub struct Pipeline<Src: BlockMetadata, Dst: BlockMetadata> { /* private fields */ }Expand description
A running pipeline instance.
Implementations§
Source§impl<Src: BlockMetadata, Dst: BlockMetadata> Pipeline<Src, Dst>
impl<Src: BlockMetadata, Dst: BlockMetadata> Pipeline<Src, Dst>
Sourcepub fn new(
config: PipelineConfig<Src, Dst>,
_registry: Arc<BlockRegistry>,
dst_manager: Arc<BlockManager<Dst>>,
leader: Arc<InstanceLeader>,
src_layout: LogicalLayoutHandle,
dst_layout: LogicalLayoutHandle,
runtime: Handle,
) -> Self
pub fn new( config: PipelineConfig<Src, Dst>, _registry: Arc<BlockRegistry>, dst_manager: Arc<BlockManager<Dst>>, leader: Arc<InstanceLeader>, src_layout: LogicalLayoutHandle, dst_layout: LogicalLayoutHandle, runtime: Handle, ) -> Self
Create a new pipeline with the given configuration.
§Arguments
config- Pipeline configurationregistry- Block registry for policy evaluationdst_manager- Destination tier block managerleader- Instance leader for transfer executionsrc_layout- Source logical layout handledst_layout- Destination logical layout handleruntime- Tokio runtime handle for spawning background tasks
Sourcepub fn request_cancel(&self, transfer_id: TransferId)
pub fn request_cancel(&self, transfer_id: TransferId)
Request cancellation for a transfer.
This marks the transfer as cancelled in all queues, triggering the sweeper to remove queued items and the evaluator/collector to skip them.
Sourcepub fn auto_chain(&self) -> bool
pub fn auto_chain(&self) -> bool
Check if this pipeline auto-chains to downstream.
Sourcepub fn output_tx(&self) -> Option<Sender<PipelineOutput>>
pub fn output_tx(&self) -> Option<Sender<PipelineOutput>>
Get a clone of the output channel sender.
Sourcepub fn take_chain_rx(&mut self) -> Option<Receiver<ChainOutput<Dst>>>
pub fn take_chain_rx(&mut self) -> Option<Receiver<ChainOutput<Dst>>>
Take the chain output receiver for downstream pipeline feeding.
This transfers ownership of the receiver - can only be called once.
When auto_chain is enabled, this receiver will yield ChainOutput<Dst>
containing registered blocks that can be fed to a downstream pipeline.
§Returns
Some(rx)ifauto_chainis enabled and receiver hasn’t been takenNoneifauto_chainis false or receiver was already taken
Sourcepub fn pending_tracker(&self) -> &Arc<PendingTracker> ⓘ
pub fn pending_tracker(&self) -> &Arc<PendingTracker> ⓘ
Get the pending tracker for this pipeline.
This can be shared with presence policies to enable duplicate prevention for blocks currently in-flight through this pipeline.
Auto Trait Implementations§
impl<Src, Dst> !RefUnwindSafe for Pipeline<Src, Dst>
impl<Src, Dst> !UnwindSafe for Pipeline<Src, Dst>
impl<Src, Dst> Freeze for Pipeline<Src, Dst>
impl<Src, Dst> Send for Pipeline<Src, Dst>
impl<Src, Dst> Sync for Pipeline<Src, Dst>
impl<Src, Dst> Unpin for Pipeline<Src, Dst>
impl<Src, Dst> UnsafeUnpin for Pipeline<Src, Dst>
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);