use core::fmt::Display;
#[derive(Debug, Clone, Copy)]
pub enum TcpMode {
TcpIn,
TcpOut,
}
#[derive(Debug, Clone)]
pub struct TcpConfig {
pub(crate) address: String,
pub(crate) mode: TcpMode,
}
impl TcpConfig {
pub fn new(address: String, mode: TcpMode) -> Self {
Self { address, mode }
}
}
impl Display for TcpConfig {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self.mode {
TcpMode::TcpIn => write!(f, "tcpin:{}", self.address),
TcpMode::TcpOut => write!(f, "tcpout:{}", self.address),
}
}
}