pub struct CampaignWorkflowProgress {
pub current_step_id: String,
pub step_entered_at: Option<Timestamp>,
pub next_wake_at: Option<Timestamp>,
}Expand description
Live execution position of a running campaign’s workflow, recorded by the campaign worker as steps transition. Lets clients render true engine progress (e.g. “waiting on a deadline until T”) instead of inferring it from recipient delivery activity, which never observes timer-only steps.
Fields§
§current_step_id: StringWorkflow-definition step id (WorkflowStep.id) currently executing or being waited on.
step_entered_at: Option<Timestamp>When the workflow entered the current step.
next_wake_at: Option<Timestamp>For timer-backed steps (e.g. deadline checks): when the pending timer fires. Unset for steps that complete without waiting.
Trait Implementations§
Source§impl Clone for CampaignWorkflowProgress
impl Clone for CampaignWorkflowProgress
Source§fn clone(&self) -> CampaignWorkflowProgress
fn clone(&self) -> CampaignWorkflowProgress
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CampaignWorkflowProgress
impl Debug for CampaignWorkflowProgress
Source§impl Default for CampaignWorkflowProgress
impl Default for CampaignWorkflowProgress
impl Eq for CampaignWorkflowProgress
Source§impl Hash for CampaignWorkflowProgress
impl Hash for CampaignWorkflowProgress
Source§impl Message for CampaignWorkflowProgress
impl Message for CampaignWorkflowProgress
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for CampaignWorkflowProgress
impl PartialEq for CampaignWorkflowProgress
impl StructuralPartialEq for CampaignWorkflowProgress
Auto Trait Implementations§
impl Freeze for CampaignWorkflowProgress
impl RefUnwindSafe for CampaignWorkflowProgress
impl Send for CampaignWorkflowProgress
impl Sync for CampaignWorkflowProgress
impl Unpin for CampaignWorkflowProgress
impl UnsafeUnpin for CampaignWorkflowProgress
impl UnwindSafe for CampaignWorkflowProgress
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
Mutably borrows from an owned value. Read more
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
Compare self to
key and return true if they are equal.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>
Wrap the input message
T in a tonic::Request