ChatterBox.Server.RegisteredClient.StartWriting C# (CSharp) Method

StartWriting() private method

private StartWriting ( ) : void
return void
        private void StartWriting()
        {
            Task.Run(async () =>
            {
                var connectionId = ConnectionId;
                try
                {
                    var writer = new StreamWriter(ActiveConnection.GetStream())
                    {
                        AutoFlush = true
                    };
                    while (IsOnline && connectionId == ConnectionId)
                    {
                        while (!WriteQueue.IsEmpty)
                        {
                            string message;
                            if (!WriteQueue.TryDequeue(out message)) continue;

                            Logger.Debug($"<< {message}");
                            await writer.WriteLineAsync(message);
                        }
                        await Task.Delay(10);
                    }
                }
                catch (Exception exception)
                {
                    Logger.Warn($"[WRITE] Disconnected. Reason: {exception.Message}");
                    OnTcpClientDisconnected(connectionId);
                }
            });
        }