Exemplo n.º 1
0
        public async Task ProcessAsync(
            Guid clientId,
            IReadOnlyList <ByteString> requestData,
            CancellationToken cancellationToken)
        {
            var clientIdBytes = requestData.FirstOrDefault();

            if (clientIdBytes == null)
            {
                return;
            }

            if (!Guid.TryParse(clientIdBytes.ToStringUtf8(), out var clientIdGuid))
            {
                return;
            }

            if (!_clientsRepository.TryGetClient(clientIdGuid, out var client))
            {
                return;
            }

            var response = new Response
            {
                Type = $"{Type}-answer",
            };

            response.Data.Add(requestData.Skip(1));

            await client.SendAsync(response, cancellationToken);
        }