Creating gRPC services
To implement a gRPC service for the Codebreaker.Live
project, create the GRPCLiveGameService
class:
Codebreaker.Live/Endpoints/GRPCLiveGameService.cs
using Codebreaker.Grpc; using Google.Protobuf.WellKnownTypes; using Grpc.Core; namespace Codebreaker.Live.Endpoints; public class GRPCLiveGameService( IHubContext<LiveHub> hubContext, ILogger<LiveGameService> logger) : ReportGame.ReportGameBase { async public override Task<Empty> ReportGameCompleted( ReportGameCompletedRequest request, ServerCallContext context) { logger.LogInformation("Received game ended {type} " + "{gameid}", request.GameType, request.Id); await hubContext.Clients.Group(request.GameType) .SendAsync("GameCompleted...