pub mod client;
pub mod discovery;
pub mod protocol;
pub mod server;
use std::path::PathBuf;
#[must_use]
pub fn socket_path() -> PathBuf {
if let Ok(socket) = std::env::var("CUENV_COORDINATOR_SOCKET")
&& !socket.is_empty()
{
return PathBuf::from(socket);
}
cuenv_core::paths::coordinator_socket()
.unwrap_or_else(|_| PathBuf::from("/tmp/cuenv/coordinator.sock"))
}
#[must_use]
pub fn pid_path() -> PathBuf {
cuenv_core::paths::coordinator_pid()
.unwrap_or_else(|_| PathBuf::from("/tmp/cuenv/coordinator.pid"))
}
#[must_use]
pub fn lock_path() -> PathBuf {
cuenv_core::paths::coordinator_lock()
.unwrap_or_else(|_| PathBuf::from("/tmp/cuenv/coordinator.lock"))
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_socket_path() {
let path = socket_path();
assert!(path.to_string_lossy().contains("coordinator.sock"));
}
#[test]
fn test_pid_path() {
let path = pid_path();
assert!(path.to_string_lossy().contains("coordinator.pid"));
}
#[test]
fn test_lock_path() {
let path = lock_path();
assert!(path.to_string_lossy().contains("coordinator.lock"));
}
}