use crate::operation::Operation;
pub struct Flow {
pub(crate) op: Operation,
pub(crate) user_data: u64,
}
impl Flow {
pub fn new(op: Operation) -> Self {
Self { op, user_data: 0 }
}
pub fn with_user_data(op: Operation, user_data: u64) -> Self {
Self { op, user_data }
}
pub fn set_user_data(&mut self, data: u64) -> &mut Self {
self.user_data = data;
self
}
pub fn user_data(&self) -> u64 {
self.user_data
}
pub fn operation(&self) -> &Operation {
&self.op
}
pub fn into_operation(self) -> Operation {
self.op
}
}