Esempio n. 1
0
        protected internal void AddClient(ISenderConnection client)
        {
            if (Clients is null)
            {
                Clients = new List <IMessageSender>();
            }

            var messageSender = new MessageSender.MessageSender(client);


            messageSender.OnDisconnected -= MessageSender_OnDisconnected;
            messageSender.OnDisconnected += MessageSender_OnDisconnected;

            messageSender.OnRead -= MessageSender_OnRead;
            messageSender.OnRead += MessageSender_OnRead;

            Clients.Add(messageSender);
            WaitMessage(messageSender);

            OnClientConnection?.Invoke(this, messageSender);
        }
Esempio n. 2
0
        private void DisposeClient()
        {
            if (_connection is null)
            {
                return;
            }

            if (_cancellationTokenSource != null && _cancellationTokenSource.Token.CanBeCanceled)
            {
                _cancellationTokenSource.Cancel();
            }

            _streamReader?.Close();
            _streamReader?.Dispose();
            _streamReader = null;

            _streamWriter?.Close();
            _streamWriter?.Dispose();
            _streamWriter = null;

            _connection?.Dispose();
            _connection = null;
        }
Esempio n. 3
0
 public MessageSender(ISenderConnection connection)
 {
     _connection = connection;
 }