pub enum UpstreamSignal {
Ack {
event_id: EventId,
},
Backpressure {
until: i64,
},
Cancel {
correlation_id: EventId,
reason: String,
},
CompensationComplete {
event_id: EventId,
},
ErrorPropagation {
source_event_id: EventId,
error_code: String,
message: String,
},
ConflictDetected {
branch_a: EventId,
branch_b: EventId,
},
}Expand description
Signals that can be sent upstream in the DAG (“tram car tracks”).
These signals flow in the opposite direction to events, allowing downstream processors to communicate back to upstream producers.
Variants§
Ack
Acknowledge receipt/processing of an event
Backpressure
Request backpressure (slow down event production)
Cancel
Cancel a correlation chain
CompensationComplete
Signal that compensation is complete
ErrorPropagation
Propagate an error upstream
ConflictDetected
Conflict detected between two concurrent branches in the DAG. This is a coordination signal, not a failure — the handler decides resolution.
Trait Implementations§
Source§impl Clone for UpstreamSignal
impl Clone for UpstreamSignal
Source§fn clone(&self) -> UpstreamSignal
fn clone(&self) -> UpstreamSignal
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ComposeSchema for UpstreamSignal
impl ComposeSchema for UpstreamSignal
Source§impl Debug for UpstreamSignal
impl Debug for UpstreamSignal
Source§impl<'de> Deserialize<'de> for UpstreamSignal
impl<'de> Deserialize<'de> for UpstreamSignal
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for UpstreamSignal
impl PartialEq for UpstreamSignal
Source§impl Serialize for UpstreamSignal
impl Serialize for UpstreamSignal
Source§impl ToSchema for UpstreamSignal
impl ToSchema for UpstreamSignal
impl Eq for UpstreamSignal
impl StructuralPartialEq for UpstreamSignal
Auto Trait Implementations§
impl Freeze for UpstreamSignal
impl RefUnwindSafe for UpstreamSignal
impl Send for UpstreamSignal
impl Sync for UpstreamSignal
impl Unpin for UpstreamSignal
impl UnwindSafe for UpstreamSignal
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.