1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/// Tcp represents a TCP connection.
/// 
/// It provides methods for creating a new TCP connections by using Tcp struct wrapper - `Tcp` 

use std::net::TcpListener;

/// 
pub struct Tcp {
    /// # Arguments
    ip: String,
    port: String,
}

impl Tcp {
    pub fn new(ip: String, port: String) -> Self {
        Tcp { ip, port }
    }

    pub fn bind(self) -> std::io::Result<TcpListener> {
        let listener = TcpListener::bind(format!("{}:{}", self.ip, self.port))?;

        Ok(listener)
    }
}

#[cfg(test)]
mod tests {
    use super::*;
}