public ITransportStream CreateTransportStream(IPAddress remoteAddress, int port)
        {
            var transportStream = new TcpTransportStream(LocalBindAddress, remoteAddress, port);

            _streams.Add(transportStream);
            return(transportStream);
        }
        void AcceptConnection(TransportConnectionEventArgs e)
        {
            var stream = new TcpTransportStream(e.Client);

            // Notify application protocol
            bool accepted      = false;
            var  applicationEE = new AcceptConnectionEventArgs(stream, () =>
            {
                _logger.LogInformation($"Accepted connection from {stream.RemoteEndPoint}");

                accepted = true;
                _streams.Add(stream);
            });

            AcceptConnectionHandler?.Invoke(applicationEE);

            if (!accepted)
            {
                e.Client.Dispose();
            }
        }