use crate::event::status::processing_status::ProcessingStatus;
use crate::time::MetricsDuration;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProcessingContext {
pub processed_by: String,
pub processing_time: MetricsDuration,
pub event_time: u64,
pub status: ProcessingStatus,
#[serde(skip_serializing_if = "Option::is_none")]
pub error_hops_remaining: Option<u8>,
}
impl Default for ProcessingContext {
fn default() -> Self {
Self {
processed_by: "unknown".to_string(),
processing_time: MetricsDuration::ZERO,
event_time: 0,
status: ProcessingStatus::Success,
error_hops_remaining: None,
}
}
}