torrust-actix 4.2.3

A rich, fast and efficient Bittorrent Tracker.
use crate::ssl::enums::server_identifier::ServerIdentifier;

impl ServerIdentifier {
    pub fn bind_address(&self) -> &str {
        match self {
            ServerIdentifier::HttpTracker(addr) => addr,
            ServerIdentifier::ApiServer(addr) => addr,
            ServerIdentifier::WebSocketMaster(addr) => addr,
        }
    }

    pub fn server_type(&self) -> &'static str {
        match self {
            ServerIdentifier::HttpTracker(_) => "http",
            ServerIdentifier::ApiServer(_) => "api",
            ServerIdentifier::WebSocketMaster(_) => "websocket",
        }
    }
}

impl std::fmt::Display for ServerIdentifier {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match self {
            ServerIdentifier::HttpTracker(addr) => {
                write!(f, "HttpTracker({addr})")
            }
            ServerIdentifier::ApiServer(addr) => {
                write!(f, "ApiServer({addr})")
            }
            ServerIdentifier::WebSocketMaster(addr) => {
                write!(f, "WebSocketMaster({addr})")
            }
        }
    }
}