use crate::protos::temporal::api::common;
#[derive(Debug, Clone, Default, PartialEq)]
pub struct Priority {
pub priority_key: Option<u32>,
pub fairness_key: Option<String>,
pub fairness_weight: Option<f32>,
}
impl From<Priority> for common::v1::Priority {
fn from(priority: Priority) -> Self {
common::v1::Priority {
priority_key: priority.priority_key.unwrap_or(0) as i32,
fairness_key: priority.fairness_key.unwrap_or_default(),
fairness_weight: priority.fairness_weight.unwrap_or(0.0),
}
}
}
impl From<common::v1::Priority> for Priority {
fn from(priority: common::v1::Priority) -> Self {
Self {
priority_key: if priority.priority_key == 0 {
None
} else {
Some(priority.priority_key as u32)
},
fairness_key: if priority.fairness_key.is_empty() {
None
} else {
Some(priority.fairness_key)
},
fairness_weight: if priority.fairness_weight == 0.0 {
None
} else {
Some(priority.fairness_weight)
},
}
}
}