func (r *Runner) handleMessage(ctx context.Context, wg *sync.WaitGroup, m message.Message, out chan<- message.Message) {
	switch m.Type {
	case message.CreateGame:
		r.createGame(ctx, wg, m, out)
	case message.DeleteGame:
		r.deleteGame(ctx, m, out)
	default:
		r.handleGameMessage(ctx, m, out)
	}
}
// handleMessage takes appropriate actions for different message types.
handleMessage takes appropriate actions for different message types.
// handleMessage takes appropriate actions for different message types .
func (r *Runner) handleMessage(ctx context.Context, wg *sync.WaitGroup, m message.Message, out chan<- message.Message) {
	switch m.Type {
	case message.CreateGame:
		r.createGame(ctx, wg, m, out)
	case message.DeleteGame:
		r.deleteGame(ctx, m, out)
	default:
		r.handleGameMessage(ctx, m, out)
	}
}
func ( r * Runner ) handleMessage ( ctx context . Context , wg * sync . WaitGroup , m message . Message , out chan <- message . Message ) { switch m . Type { case message . CreateGame : r . createGame ( ctx , wg , m , out ) case message . DeleteGame : r . deleteGame ( ctx , m , out ) default : r . handleGameMessage ( ctx , m , out ) } }
handleMessage takes appropriate actions for different message types.
handleMessage takes appropriate actions for different message types .