use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Mutex {
pub state: MutexState,
pub path: String,
pub timeout: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum MutexState {
Locked,
Open,
}
#[derive(Debug)]
pub enum MutexError {
File(std::io::Error),
State(MutexExceptions),
Generic(String),
}
#[derive(Debug)]
pub enum MutexExceptions {
AlreadyLocked,
InvalidState,
}