Exemple #1
0
        public override async Task GetRankings(ScoresRequest request, IServerStreamWriter <ScoreResponse> responseStream,
                                               ServerCallContext context)
        {
            GrpcClient client;

            try
            {
                client = _auth.GetClient(context);
            }
            catch (GrpcError e)
            {
                await responseStream.WriteAsync(new ScoreResponse { ErrorNo = e.ErrorNumber });

                return;
            }

            var scores      = _service.GetRankings(client.Arbiter.Type);
            var protoScores = scores.Select(score => new ScoreResponse {
                Score = score.ToProto()
            });
            await responseStream.WriteAllAsync(protoScores);
        }