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); }