pub async fn start( stream: BufStream<TcpStream>, conn: Connection, tls_client_config: Option<Arc<ClientConfig>>, tls_acceptor: Option<TlsAcceptor>, stop_notifier: Arc<Notify> ) -> Result<()>