allocation

package
v1.29.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2023 License: Apache-2.0 Imports: 17 Imported by: 8

Documentation

Overview

Package allocation is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

View Source
var (
	AllocationRequest_SchedulingStrategy_name = map[int32]string{
		0: "Packed",
		1: "Distributed",
	}
	AllocationRequest_SchedulingStrategy_value = map[string]int32{
		"Packed":      0,
		"Distributed": 1,
	}
)

Enum value maps for AllocationRequest_SchedulingStrategy.

View Source
var (
	GameServerSelector_GameServerState_name = map[int32]string{
		0: "READY",
		1: "ALLOCATED",
	}
	GameServerSelector_GameServerState_value = map[string]int32{
		"READY":     0,
		"ALLOCATED": 1,
	}
)

Enum value maps for GameServerSelector_GameServerState.

View Source
var AllocationService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "allocation.AllocationService",
	HandlerType: (*AllocationServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Allocate",
			Handler:    _AllocationService_Allocate_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/allocation/allocation.proto",
}

AllocationService_ServiceDesc is the grpc.ServiceDesc for AllocationService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_proto_allocation_allocation_proto protoreflect.FileDescriptor

Functions

func RegisterAllocationServiceHandler

func RegisterAllocationServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterAllocationServiceHandler registers the http handlers for service AllocationService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterAllocationServiceHandlerClient

func RegisterAllocationServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AllocationServiceClient) error

RegisterAllocationServiceHandlerClient registers the http handlers for service AllocationService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AllocationServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AllocationServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "AllocationServiceClient" to call the correct interceptors.

func RegisterAllocationServiceHandlerFromEndpoint

func RegisterAllocationServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterAllocationServiceHandlerFromEndpoint is same as RegisterAllocationServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterAllocationServiceHandlerServer

func RegisterAllocationServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AllocationServiceServer) error

RegisterAllocationServiceHandlerServer registers the http handlers for service AllocationService to "mux". UnaryRPC :call AllocationServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAllocationServiceHandlerFromEndpoint instead.

func RegisterAllocationServiceServer

func RegisterAllocationServiceServer(s grpc.ServiceRegistrar, srv AllocationServiceServer)

Types

type AllocationRequest

type AllocationRequest struct {

	// The k8s namespace that is hosting the targeted fleet of gameservers to be allocated
	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// If specified, multi-cluster policies are applied. Otherwise, allocation will happen locally.
	MultiClusterSetting *MultiClusterSetting `protobuf:"bytes,2,opt,name=multiClusterSetting,proto3" json:"multiClusterSetting,omitempty"`
	// Deprecated: Please use gameServerSelectors instead. This field is ignored if the
	// gameServerSelectors field is set
	// The required allocation. Defaults to all GameServers.
	//
	// Deprecated: Do not use.
	RequiredGameServerSelector *GameServerSelector `protobuf:"bytes,3,opt,name=requiredGameServerSelector,proto3" json:"requiredGameServerSelector,omitempty"`
	// Deprecated: Please use gameServerSelectors instead. This field is ignored if the
	// gameServerSelectors field is set
	// The ordered list of preferred allocations out of the `required` set.
	// If the first selector is not matched, the selection attempts the second selector, and so on.
	//
	// Deprecated: Do not use.
	PreferredGameServerSelectors []*GameServerSelector `protobuf:"bytes,4,rep,name=preferredGameServerSelectors,proto3" json:"preferredGameServerSelectors,omitempty"`
	// Scheduling strategy. Defaults to "Packed".
	Scheduling AllocationRequest_SchedulingStrategy `` /* 127-byte string literal not displayed */
	// Deprecated: Please use metadata instead. This field is ignored if the
	// metadata field is set
	MetaPatch *MetaPatch `protobuf:"bytes,6,opt,name=metaPatch,proto3" json:"metaPatch,omitempty"`
	// Metadata is optional custom metadata that is added to the game server at
	// allocation. You can use this to tell the server necessary session data
	Metadata *MetaPatch `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Ordered list of GameServer label selectors.
	// If the first selector is not matched, the selection attempts the second selector, and so on.
	// This is useful for things like smoke testing of new game servers.
	// Note: This field can only be set if neither Required or Preferred is set.
	GameServerSelectors []*GameServerSelector `protobuf:"bytes,8,rep,name=gameServerSelectors,proto3" json:"gameServerSelectors,omitempty"`
	// contains filtered or unexported fields
}

func (*AllocationRequest) Descriptor deprecated

func (*AllocationRequest) Descriptor() ([]byte, []int)

Deprecated: Use AllocationRequest.ProtoReflect.Descriptor instead.

func (*AllocationRequest) GetGameServerSelectors added in v1.17.0

func (x *AllocationRequest) GetGameServerSelectors() []*GameServerSelector

func (*AllocationRequest) GetMetaPatch

func (x *AllocationRequest) GetMetaPatch() *MetaPatch

func (*AllocationRequest) GetMetadata added in v1.15.0

func (x *AllocationRequest) GetMetadata() *MetaPatch

func (*AllocationRequest) GetMultiClusterSetting

func (x *AllocationRequest) GetMultiClusterSetting() *MultiClusterSetting

func (*AllocationRequest) GetNamespace

func (x *AllocationRequest) GetNamespace() string

func (*AllocationRequest) GetPreferredGameServerSelectors deprecated

func (x *AllocationRequest) GetPreferredGameServerSelectors() []*GameServerSelector

Deprecated: Do not use.

func (*AllocationRequest) GetRequiredGameServerSelector deprecated

func (x *AllocationRequest) GetRequiredGameServerSelector() *GameServerSelector

Deprecated: Do not use.

func (*AllocationRequest) GetScheduling

func (*AllocationRequest) ProtoMessage

func (*AllocationRequest) ProtoMessage()

func (*AllocationRequest) ProtoReflect added in v1.29.0

func (x *AllocationRequest) ProtoReflect() protoreflect.Message

func (*AllocationRequest) Reset

func (x *AllocationRequest) Reset()

func (*AllocationRequest) String

func (x *AllocationRequest) String() string

type AllocationRequest_SchedulingStrategy

type AllocationRequest_SchedulingStrategy int32
const (
	AllocationRequest_Packed      AllocationRequest_SchedulingStrategy = 0
	AllocationRequest_Distributed AllocationRequest_SchedulingStrategy = 1
)

func (AllocationRequest_SchedulingStrategy) Descriptor added in v1.29.0

func (AllocationRequest_SchedulingStrategy) Enum added in v1.29.0

func (AllocationRequest_SchedulingStrategy) EnumDescriptor deprecated

func (AllocationRequest_SchedulingStrategy) EnumDescriptor() ([]byte, []int)

Deprecated: Use AllocationRequest_SchedulingStrategy.Descriptor instead.

func (AllocationRequest_SchedulingStrategy) Number added in v1.29.0

func (AllocationRequest_SchedulingStrategy) String

func (AllocationRequest_SchedulingStrategy) Type added in v1.29.0

type AllocationResponse

type AllocationResponse struct {
	GameServerName string                                     `protobuf:"bytes,2,opt,name=gameServerName,proto3" json:"gameServerName,omitempty"`
	Ports          []*AllocationResponse_GameServerStatusPort `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"`
	Address        string                                     `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
	NodeName       string                                     `protobuf:"bytes,5,opt,name=nodeName,proto3" json:"nodeName,omitempty"`
	Source         string                                     `protobuf:"bytes,6,opt,name=source,proto3" json:"source,omitempty"`
	// contains filtered or unexported fields
}

func (*AllocationResponse) Descriptor deprecated

func (*AllocationResponse) Descriptor() ([]byte, []int)

Deprecated: Use AllocationResponse.ProtoReflect.Descriptor instead.

func (*AllocationResponse) GetAddress

func (x *AllocationResponse) GetAddress() string

func (*AllocationResponse) GetGameServerName

func (x *AllocationResponse) GetGameServerName() string

func (*AllocationResponse) GetNodeName

func (x *AllocationResponse) GetNodeName() string

func (*AllocationResponse) GetPorts

func (*AllocationResponse) GetSource added in v1.29.0

func (x *AllocationResponse) GetSource() string

func (*AllocationResponse) ProtoMessage

func (*AllocationResponse) ProtoMessage()

func (*AllocationResponse) ProtoReflect added in v1.29.0

func (x *AllocationResponse) ProtoReflect() protoreflect.Message

func (*AllocationResponse) Reset

func (x *AllocationResponse) Reset()

func (*AllocationResponse) String

func (x *AllocationResponse) String() string

type AllocationResponse_GameServerStatusPort

type AllocationResponse_GameServerStatusPort struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Port int32  `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

The gameserver port info that is allocated.

func (*AllocationResponse_GameServerStatusPort) Descriptor deprecated

func (*AllocationResponse_GameServerStatusPort) Descriptor() ([]byte, []int)

Deprecated: Use AllocationResponse_GameServerStatusPort.ProtoReflect.Descriptor instead.

func (*AllocationResponse_GameServerStatusPort) GetName

func (*AllocationResponse_GameServerStatusPort) GetPort

func (*AllocationResponse_GameServerStatusPort) ProtoMessage

func (*AllocationResponse_GameServerStatusPort) ProtoReflect added in v1.29.0

func (*AllocationResponse_GameServerStatusPort) Reset

func (*AllocationResponse_GameServerStatusPort) String

type AllocationServiceClient

type AllocationServiceClient interface {
	Allocate(ctx context.Context, in *AllocationRequest, opts ...grpc.CallOption) (*AllocationResponse, error)
}

AllocationServiceClient is the client API for AllocationService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type AllocationServiceServer

type AllocationServiceServer interface {
	Allocate(context.Context, *AllocationRequest) (*AllocationResponse, error)
}

AllocationServiceServer is the server API for AllocationService service. All implementations should embed UnimplementedAllocationServiceServer for forward compatibility

type GameServerSelector added in v1.17.0

type GameServerSelector struct {

	// Labels to match.
	MatchLabels     map[string]string                  `` /* 163-byte string literal not displayed */
	GameServerState GameServerSelector_GameServerState `` /* 135-byte string literal not displayed */
	Players         *PlayerSelector                    `protobuf:"bytes,3,opt,name=players,proto3" json:"players,omitempty"`
	// contains filtered or unexported fields
}

GameServerSelector used for finding a GameServer with matching filters.

func (*GameServerSelector) Descriptor deprecated added in v1.17.0

func (*GameServerSelector) Descriptor() ([]byte, []int)

Deprecated: Use GameServerSelector.ProtoReflect.Descriptor instead.

func (*GameServerSelector) GetGameServerState added in v1.17.0

func (*GameServerSelector) GetMatchLabels added in v1.17.0

func (x *GameServerSelector) GetMatchLabels() map[string]string

func (*GameServerSelector) GetPlayers added in v1.17.0

func (x *GameServerSelector) GetPlayers() *PlayerSelector

func (*GameServerSelector) ProtoMessage added in v1.17.0

func (*GameServerSelector) ProtoMessage()

func (*GameServerSelector) ProtoReflect added in v1.29.0

func (x *GameServerSelector) ProtoReflect() protoreflect.Message

func (*GameServerSelector) Reset added in v1.17.0

func (x *GameServerSelector) Reset()

func (*GameServerSelector) String added in v1.17.0

func (x *GameServerSelector) String() string

type GameServerSelector_GameServerState added in v1.17.0

type GameServerSelector_GameServerState int32
const (
	GameServerSelector_READY     GameServerSelector_GameServerState = 0
	GameServerSelector_ALLOCATED GameServerSelector_GameServerState = 1
)

func (GameServerSelector_GameServerState) Descriptor added in v1.29.0

func (GameServerSelector_GameServerState) Enum added in v1.29.0

func (GameServerSelector_GameServerState) EnumDescriptor deprecated added in v1.17.0

func (GameServerSelector_GameServerState) EnumDescriptor() ([]byte, []int)

Deprecated: Use GameServerSelector_GameServerState.Descriptor instead.

func (GameServerSelector_GameServerState) Number added in v1.29.0

func (GameServerSelector_GameServerState) String added in v1.17.0

func (GameServerSelector_GameServerState) Type added in v1.29.0

type LabelSelector

type LabelSelector struct {

	// Labels to match.
	MatchLabels map[string]string `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

LabelSelector used for finding a GameServer with matching labels.

func (*LabelSelector) Descriptor deprecated

func (*LabelSelector) Descriptor() ([]byte, []int)

Deprecated: Use LabelSelector.ProtoReflect.Descriptor instead.

func (*LabelSelector) GetMatchLabels

func (x *LabelSelector) GetMatchLabels() map[string]string

func (*LabelSelector) ProtoMessage

func (*LabelSelector) ProtoMessage()

func (*LabelSelector) ProtoReflect added in v1.29.0

func (x *LabelSelector) ProtoReflect() protoreflect.Message

func (*LabelSelector) Reset

func (x *LabelSelector) Reset()

func (*LabelSelector) String

func (x *LabelSelector) String() string

type MetaPatch

type MetaPatch struct {
	Labels      map[string]string `` /* 153-byte string literal not displayed */
	Annotations map[string]string `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

MetaPatch is the metadata used to patch the GameServer metadata on allocation

func (*MetaPatch) Descriptor deprecated

func (*MetaPatch) Descriptor() ([]byte, []int)

Deprecated: Use MetaPatch.ProtoReflect.Descriptor instead.

func (*MetaPatch) GetAnnotations

func (x *MetaPatch) GetAnnotations() map[string]string

func (*MetaPatch) GetLabels

func (x *MetaPatch) GetLabels() map[string]string

func (*MetaPatch) ProtoMessage

func (*MetaPatch) ProtoMessage()

func (*MetaPatch) ProtoReflect added in v1.29.0

func (x *MetaPatch) ProtoReflect() protoreflect.Message

func (*MetaPatch) Reset

func (x *MetaPatch) Reset()

func (*MetaPatch) String

func (x *MetaPatch) String() string

type MultiClusterSetting

type MultiClusterSetting struct {

	// If set to true, multi-cluster allocation is enabled.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Selects multi-cluster allocation policies to apply. If not specified, all multi-cluster allocation policies are to be applied.
	PolicySelector *LabelSelector `protobuf:"bytes,2,opt,name=policySelector,proto3" json:"policySelector,omitempty"`
	// contains filtered or unexported fields
}

Specifies settings for multi-cluster allocation.

func (*MultiClusterSetting) Descriptor deprecated

func (*MultiClusterSetting) Descriptor() ([]byte, []int)

Deprecated: Use MultiClusterSetting.ProtoReflect.Descriptor instead.

func (*MultiClusterSetting) GetEnabled

func (x *MultiClusterSetting) GetEnabled() bool

func (*MultiClusterSetting) GetPolicySelector

func (x *MultiClusterSetting) GetPolicySelector() *LabelSelector

func (*MultiClusterSetting) ProtoMessage

func (*MultiClusterSetting) ProtoMessage()

func (*MultiClusterSetting) ProtoReflect added in v1.29.0

func (x *MultiClusterSetting) ProtoReflect() protoreflect.Message

func (*MultiClusterSetting) Reset

func (x *MultiClusterSetting) Reset()

func (*MultiClusterSetting) String

func (x *MultiClusterSetting) String() string

type PlayerSelector added in v1.17.0

type PlayerSelector struct {
	MinAvailable uint64 `protobuf:"varint,1,opt,name=minAvailable,proto3" json:"minAvailable,omitempty"`
	MaxAvailable uint64 `protobuf:"varint,2,opt,name=maxAvailable,proto3" json:"maxAvailable,omitempty"`
	// contains filtered or unexported fields
}

PlayerSelector is filter for player capacity values. minAvailable should always be less or equal to maxAvailable.

func (*PlayerSelector) Descriptor deprecated added in v1.17.0

func (*PlayerSelector) Descriptor() ([]byte, []int)

Deprecated: Use PlayerSelector.ProtoReflect.Descriptor instead.

func (*PlayerSelector) GetMaxAvailable added in v1.17.0

func (x *PlayerSelector) GetMaxAvailable() uint64

func (*PlayerSelector) GetMinAvailable added in v1.17.0

func (x *PlayerSelector) GetMinAvailable() uint64

func (*PlayerSelector) ProtoMessage added in v1.17.0

func (*PlayerSelector) ProtoMessage()

func (*PlayerSelector) ProtoReflect added in v1.29.0

func (x *PlayerSelector) ProtoReflect() protoreflect.Message

func (*PlayerSelector) Reset added in v1.17.0

func (x *PlayerSelector) Reset()

func (*PlayerSelector) String added in v1.17.0

func (x *PlayerSelector) String() string

type UnimplementedAllocationServiceServer added in v1.29.0

type UnimplementedAllocationServiceServer struct {
}

UnimplementedAllocationServiceServer should be embedded to have forward compatible implementations.

func (UnimplementedAllocationServiceServer) Allocate added in v1.29.0

type UnsafeAllocationServiceServer added in v1.29.0

type UnsafeAllocationServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeAllocationServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AllocationServiceServer will result in compilation errors.

Jump to

Keyboard shortcuts

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