scenarios

package
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ActiveScenario = func() *Scenario {
	var gs GameScenario = firstmatch.Scenario()

	s := backfill.Scenario()
	gs = s

	return &Scenario{
		FrontendTotalTicketsToCreate:    -1,
		FrontendTicketCreatedQPS:        100,
		FrontendCreatesBackfillsOnStart: true,
		FrontendTotalBackfillsToCreate:  1000,
		FrontendDeletesTickets:          true,

		BackendAssignsTickets:        false,
		BackendAcknowledgesBackfills: true,
		BackendDeletesBackfills:      true,

		Ticket:             gs.Ticket,
		Backfill:           gs.Backfill,
		BackfillDeleteCond: s.BackfillDeleteCond,
		Profiles:           gs.Profiles,

		MMF:       queryPoolsWrapper(gs.MatchFunction),
		Evaluator: gs.Evaluate,
	}
}()

ActiveScenario sets the scenario with preset parameters that we want to use for current Open Match benchmark run.

Functions

This section is empty.

Types

type GameScenario added in v0.10.0

type GameScenario interface {
	// Ticket creates a new ticket, with randomized parameters.
	Ticket() *pb.Ticket

	// Backfill creates a new backfill, with randomized parameters.
	Backfill() *pb.Backfill

	// Profiles lists all of the profiles that should run.
	Profiles() []*pb.MatchProfile

	// MatchFunction is the custom logic implementation of the match function.
	MatchFunction(p *pb.MatchProfile, poolBackfills map[string][]*pb.Backfill, poolTickets map[string][]*pb.Ticket) ([]*pb.Match, error)

	// Evaluate is the custom logic implementation of the evaluator.
	Evaluate(stream pb.Evaluator_EvaluateServer) error
}

GameScenario defines what tickets look like, and how they should be matched.

type Scenario

type Scenario struct {

	// GameFrontend Configs
	// TicketExtensionSize       int
	// PendingTicketNumber       int
	// MatchExtensionSize        int
	FrontendTicketCreatedQPS        uint32
	FrontendTotalTicketsToCreate    int // TotalTicketsToCreate = -1 let scale-frontend create tickets forever
	FrontendTotalBackfillsToCreate  int
	FrontendCreatesBackfillsOnStart bool
	FrontendDeletesTickets          bool

	// GameBackend Configs
	// ProfileNumber      int
	// FilterNumber       int
	BackendAssignsTickets        bool
	BackendAcknowledgesBackfills bool
	BackendDeletesBackfills      bool

	Ticket             func() *pb.Ticket
	Backfill           func() *pb.Backfill
	BackfillDeleteCond func(*pb.Backfill) bool
	Profiles           func() []*pb.MatchProfile

	MMF       matchFunction
	Evaluator evaluatorFunction
}

Scenario defines the controllable fields for Open Match benchmark scenarios

Directories

Path Synopsis
TeamShooterScenario is a scenario which is designed to emulate the approximate behavior to open match that a skill based team game would have.
TeamShooterScenario is a scenario which is designed to emulate the approximate behavior to open match that a skill based team game would have.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL