pub struct EngineSink { /* private fields */ }Expand description
Concrete OutputSink — the default implementation that closes over
engine, token, task_id, and attempt, and calls
engine.submit_output for every emit. Injected by the InProcSpawner
into WorkerInvocation.
InProcSpawner::spawn is this type’s sole constructor, which is
what makes it the in-process lane’s “the worker itself did this”
boundary: an OutputEvent::Artifact arriving here is a part the worker
staged, as opposed to one some other producer appended to the same
shared tail (AfterRunAuditMiddleware calls submit_output directly
for exactly that reason). emit therefore records Artifact names
into EngineState.worker_artifact_names — the allowlist the Final-pull
folds {out, parts} from. Adding a second constructor for a non-worker
producer would break that invariant; such a producer should call
Engine::submit_output directly instead.
Implementations§
Trait Implementations§
Source§impl Clone for EngineSink
impl Clone for EngineSink
Source§fn clone(&self) -> EngineSink
fn clone(&self) -> EngineSink
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl OutputSink for EngineSink
impl OutputSink for EngineSink
Auto Trait Implementations§
impl !RefUnwindSafe for EngineSink
impl !UnwindSafe for EngineSink
impl Freeze for EngineSink
impl Send for EngineSink
impl Sync for EngineSink
impl Unpin for EngineSink
impl UnsafeUnpin for EngineSink
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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