pub async fn tcp_connect_with_timeout<T>(
    addr: T,
    request_timeout_s: u64
) -> Result<TcpStream>
where T: ToSocketAddrs,