コード例 #1
0
    public async ValueTask HandleAsync(ConnectedClient sender, Typed message, CancellationToken cancellationToken)
    {
        _state.UpdateProgress(sender.Group, sender.ClientId, message.TypedCharactersCount);

        foreach (var client in _connectedClients.FindInGroups(sender.Groups))
        {
            if (client.ClientId == sender.ClientId)
            {
                continue;
            }

            /*await client.Connection.SendAsync(new Typed
             * {
             *  TypedCharactersCount = message.TypedCharactersCount,
             *  ClientId = sender.ClientId
             * }, cancellationToken)
             *  .ConfigureAwait(false);*/

            await _debouncer.SendAsync(client, new Typed
            {
                TypedCharactersCount = message.TypedCharactersCount,
                ClientId             = sender.ClientId
            }).ConfigureAwait(false);
        }
    }