Documentation
¶
Index ¶
- type ConnectionInfo
- type FleetUserLatencies
- type FmCallbackHandler
- type FmCreateCallbackFn
- type FmCreateStatus
- type Initializer
- type InstanceInfo
- type JoinInfo
- type LocalFmCallbackHandler
- type LocalStub
- func (s *LocalStub) Create(ctx context.Context, maxPlayers int, userIds []string, _ []FleetUserLatencies, ...) (map[string]string, error)
- func (s *LocalStub) Delete(_ context.Context, id string) error
- func (s *LocalStub) Get(_ context.Context, id string) (*InstanceInfo, error)
- func (s *LocalStub) Init(_ any, handler FmCallbackHandler) error
- func (s *LocalStub) Join(_ context.Context, id string, userIds []string, _ map[string]string) (*JoinInfo, error)
- func (s *LocalStub) List(_ context.Context, _ string, limit int, _ string) ([]*InstanceInfo, string, error)
- func (s *LocalStub) Update(_ context.Context, id string, playerCount int, metadata map[string]any) error
- type Manager
- type SessionInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnectionInfo ¶
type ConnectionInfo struct {
IpAddress string `json:"ip_address"`
DnsName string `json:"dns_name"`
Port int `json:"port"`
}
ConnectionInfo is platform-specific connection data.
type FleetUserLatencies ¶
type FleetUserLatencies struct {
UserId string
LatencyInMilliseconds float32
RegionIdentifier string
}
FleetUserLatencies is optional latency hint for Create placement.
type FmCallbackHandler ¶
type FmCallbackHandler interface {
GenerateCallbackId() string
SetCallback(callbackId string, fn FmCreateCallbackFn)
InvokeCallback(callbackId string, status FmCreateStatus, instanceInfo *InstanceInfo, sessionInfo []*SessionInfo, metadata map[string]any, err error)
}
FmCallbackHandler stores and invokes Create callbacks by id.
type FmCreateCallbackFn ¶
type FmCreateCallbackFn func(status FmCreateStatus, instanceInfo *InstanceInfo, sessionInfo []*SessionInfo, metadata map[string]any, err error)
FmCreateCallbackFn is invoked when async Create completes.
type FmCreateStatus ¶
type FmCreateStatus int
FmCreateStatus reports Create outcome.
const ( CreateSuccess FmCreateStatus = iota CreateTimeout CreateError )
type Initializer ¶
type Initializer interface {
Manager
Init(nk any, handler FmCallbackHandler) error
Update(ctx context.Context, id string, playerCount int, metadata map[string]any) error
Delete(ctx context.Context, id string) error
}
Initializer is registered by game modules.
type InstanceInfo ¶
type InstanceInfo struct {
Id string `json:"id"`
ConnectionInfo *ConnectionInfo `json:"connection_info"`
CreateTime time.Time `json:"create_time"`
PlayerCount int `json:"player_count"`
Status string `json:"status"`
Metadata map[string]interface{} `json:"metadata"`
}
InstanceInfo describes a dedicated game-server instance.
type JoinInfo ¶
type JoinInfo struct {
InstanceInfo *InstanceInfo `json:"instance_info"`
SessionInfo []*SessionInfo `json:"session_info"`
}
JoinInfo is returned from Join.
type LocalFmCallbackHandler ¶
type LocalFmCallbackHandler struct {
// contains filtered or unexported fields
}
LocalFmCallbackHandler is an in-process Create callback registry.
func NewLocalFmCallbackHandler ¶
func NewLocalFmCallbackHandler() *LocalFmCallbackHandler
NewLocalFmCallbackHandler builds a callback handler.
func (*LocalFmCallbackHandler) GenerateCallbackId ¶
func (fch *LocalFmCallbackHandler) GenerateCallbackId() string
GenerateCallbackId returns a new callback id.
func (*LocalFmCallbackHandler) InvokeCallback ¶
func (fch *LocalFmCallbackHandler) InvokeCallback(callbackId string, status FmCreateStatus, instanceInfo *InstanceInfo, sessionInfo []*SessionInfo, metadata map[string]any, err error)
InvokeCallback runs and removes a stored callback.
func (*LocalFmCallbackHandler) SetCallback ¶
func (fch *LocalFmCallbackHandler) SetCallback(callbackId string, fn FmCreateCallbackFn)
SetCallback stores a callback by id.
type LocalStub ¶
type LocalStub struct {
// contains filtered or unexported fields
}
LocalStub is a minimal in-process FleetManager for API parity.
func NewLocalStub ¶
func NewLocalStub() *LocalStub
NewLocalStub creates an empty in-process fleet stub.
type Manager ¶
type Manager interface {
Get(ctx context.Context, id string) (*InstanceInfo, error)
List(ctx context.Context, query string, limit int, previousCursor string) ([]*InstanceInfo, string, error)
Create(ctx context.Context, maxPlayers int, userIds []string, latencies []FleetUserLatencies, metadata map[string]any, callback FmCreateCallbackFn) (map[string]string, error)
Join(ctx context.Context, id string, userIds []string, metadata map[string]string) (*JoinInfo, error)
}
Manager is the runtime FleetManager surface (reference-shaped).
type SessionInfo ¶
SessionInfo reserves a player slot on an instance.