use tokio::net::TcpStream;
use crate::error::ConnectError;
use crate::transport_kind::TransportKind;
#[derive(Clone, Debug)]
pub struct MtProxyConfig {
pub host: String,
pub port: u16,
pub secret: Vec<u8>,
pub transport: TransportKind,
}
impl MtProxyConfig {
pub async fn connect(&self) -> Result<TcpStream, ConnectError> {
let addr = format!("{}:{}", self.host, self.port);
tracing::debug!("[ferogram] MTProxy TCP connect -> {addr}");
TcpStream::connect(&addr).await.map_err(ConnectError::Io)
}
pub fn addr(&self) -> String {
format!("{}:{}", self.host, self.port)
}
}