pub struct StartOutcome {
pub handle: WorkflowHandle,
pub display_name_not_applied: Option<DisplayNameNotApplied>,
}Expand description
What Client::start returns: the started (or idempotently replayed) run,
plus the note that a requested display name was NOT applied.
The note exists because display_name is deliberately outside
[StartFingerprint]: the fingerprint answers “is this the same act?”, and a
label carries no identity, so two starts differing only in name are the same
act and dedupe to one run. That leaves a second, different name with nowhere
to go — and dropping it silently would hand the caller a run wearing a name
they did not ask for while saying nothing. So the drop is REPORTED here
instead. The replayed run keeps its EXISTING name; nothing is renamed behind
the caller’s back.
Fields§
§handle: WorkflowHandleHandle to the started run, or to the existing run an idempotent replay matched.
display_name_not_applied: Option<DisplayNameNotApplied>Present ONLY when this call REQUESTED a display name, an idempotency-key replay matched an existing run, and that run does not already wear the requested name — whether it wears a different one or none at all.
None on every other path: a first start (which applies the name it
asked for), a replay that requested the same name, and — the rule this
field’s absence states — any call that requested NO name. A caller who
asked for nothing had nothing dropped, so there is nothing to report,
even when the standing run wears a name of its own.
Trait Implementations§
Source§impl Clone for StartOutcome
impl Clone for StartOutcome
Source§fn clone(&self) -> StartOutcome
fn clone(&self) -> StartOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StartOutcome
impl Debug for StartOutcome
impl Eq for StartOutcome
Source§impl PartialEq for StartOutcome
impl PartialEq for StartOutcome
impl StructuralPartialEq for StartOutcome
Auto Trait Implementations§
impl !RefUnwindSafe for StartOutcome
impl !UnwindSafe for StartOutcome
impl Freeze for StartOutcome
impl Send for StartOutcome
impl Sync for StartOutcome
impl Unpin for StartOutcome
impl UnsafeUnpin for StartOutcome
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> 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::Request