aiengine_pb

package
v0.6.2-alpha Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AIEngine_Init_FullMethodName               = "/aiengine.AIEngine/Init"
	AIEngine_AddData_FullMethodName            = "/aiengine.AIEngine/AddData"
	AIEngine_AddInterpretations_FullMethodName = "/aiengine.AIEngine/AddInterpretations"
	AIEngine_StartTraining_FullMethodName      = "/aiengine.AIEngine/StartTraining"
	AIEngine_GetInference_FullMethodName       = "/aiengine.AIEngine/GetInference"
	AIEngine_GetHealth_FullMethodName          = "/aiengine.AIEngine/GetHealth"
	AIEngine_ExportModel_FullMethodName        = "/aiengine.AIEngine/ExportModel"
	AIEngine_ImportModel_FullMethodName        = "/aiengine.AIEngine/ImportModel"
)

Variables

View Source
var (
	FillType_name = map[int32]string{
		0: "FILL_FORWARD",
		1: "FILL_ZERO",
	}
	FillType_value = map[string]int32{
		"FILL_FORWARD": 0,
		"FILL_ZERO":    1,
	}
)

Enum value maps for FillType.

View Source
var AIEngine_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "aiengine.AIEngine",
	HandlerType: (*AIEngineServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Init",
			Handler:    _AIEngine_Init_Handler,
		},
		{
			MethodName: "AddData",
			Handler:    _AIEngine_AddData_Handler,
		},
		{
			MethodName: "AddInterpretations",
			Handler:    _AIEngine_AddInterpretations_Handler,
		},
		{
			MethodName: "StartTraining",
			Handler:    _AIEngine_StartTraining_Handler,
		},
		{
			MethodName: "GetInference",
			Handler:    _AIEngine_GetInference_Handler,
		},
		{
			MethodName: "GetHealth",
			Handler:    _AIEngine_GetHealth_Handler,
		},
		{
			MethodName: "ExportModel",
			Handler:    _AIEngine_ExportModel_Handler,
		},
		{
			MethodName: "ImportModel",
			Handler:    _AIEngine_ImportModel_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/aiengine/v1/aiengine.proto",
}

AIEngine_ServiceDesc is the grpc.ServiceDesc for AIEngine 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_aiengine_v1_aiengine_proto protoreflect.FileDescriptor

Functions

func RegisterAIEngineServer

func RegisterAIEngineServer(s grpc.ServiceRegistrar, srv AIEngineServer)

Types

type AIEngineClient

type AIEngineClient interface {
	Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*Response, error)
	AddData(ctx context.Context, in *AddDataRequest, opts ...grpc.CallOption) (*Response, error)
	AddInterpretations(ctx context.Context, in *AddInterpretationsRequest, opts ...grpc.CallOption) (*Response, error)
	StartTraining(ctx context.Context, in *StartTrainingRequest, opts ...grpc.CallOption) (*Response, error)
	GetInference(ctx context.Context, in *InferenceRequest, opts ...grpc.CallOption) (*InferenceResult, error)
	GetHealth(ctx context.Context, in *HealthRequest, opts ...grpc.CallOption) (*Response, error)
	ExportModel(ctx context.Context, in *ExportModelRequest, opts ...grpc.CallOption) (*ExportModelResult, error)
	ImportModel(ctx context.Context, in *ImportModelRequest, opts ...grpc.CallOption) (*Response, error)
}

AIEngineClient is the client API for AIEngine 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.

func NewAIEngineClient

func NewAIEngineClient(cc grpc.ClientConnInterface) AIEngineClient

type AIEngineServer

AIEngineServer is the server API for AIEngine service. All implementations should embed UnimplementedAIEngineServer for forward compatibility

type AddDataRequest

type AddDataRequest struct {
	Pod        string `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	UnixSocket string `protobuf:"bytes,2,opt,name=unix_socket,json=unixSocket,proto3" json:"unix_socket,omitempty"`
	// contains filtered or unexported fields
}

func (*AddDataRequest) Descriptor deprecated

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

Deprecated: Use AddDataRequest.ProtoReflect.Descriptor instead.

func (*AddDataRequest) GetPod

func (x *AddDataRequest) GetPod() string

func (*AddDataRequest) GetUnixSocket

func (x *AddDataRequest) GetUnixSocket() string

func (*AddDataRequest) ProtoMessage

func (*AddDataRequest) ProtoMessage()

func (*AddDataRequest) ProtoReflect

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

func (*AddDataRequest) Reset

func (x *AddDataRequest) Reset()

func (*AddDataRequest) String

func (x *AddDataRequest) String() string

type AddInterpretationsRequest

type AddInterpretationsRequest struct {
	Pod                    string                            `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	IndexedInterpretations *common_pb.IndexedInterpretations `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AddInterpretationsRequest) Descriptor deprecated

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

Deprecated: Use AddInterpretationsRequest.ProtoReflect.Descriptor instead.

func (*AddInterpretationsRequest) GetIndexedInterpretations

func (x *AddInterpretationsRequest) GetIndexedInterpretations() *common_pb.IndexedInterpretations

func (*AddInterpretationsRequest) GetPod

func (x *AddInterpretationsRequest) GetPod() string

func (*AddInterpretationsRequest) ProtoMessage

func (*AddInterpretationsRequest) ProtoMessage()

func (*AddInterpretationsRequest) ProtoReflect

func (*AddInterpretationsRequest) Reset

func (x *AddInterpretationsRequest) Reset()

func (*AddInterpretationsRequest) String

func (x *AddInterpretationsRequest) String() string

type DataConnector

type DataConnector struct {
	Name   string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Params map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DataConnector) Descriptor deprecated

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

Deprecated: Use DataConnector.ProtoReflect.Descriptor instead.

func (*DataConnector) GetName

func (x *DataConnector) GetName() string

func (*DataConnector) GetParams

func (x *DataConnector) GetParams() map[string]string

func (*DataConnector) ProtoMessage

func (*DataConnector) ProtoMessage()

func (*DataConnector) ProtoReflect

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

func (*DataConnector) Reset

func (x *DataConnector) Reset()

func (*DataConnector) String

func (x *DataConnector) String() string

type DataSource

type DataSource struct {
	Connector *DataConnector    `protobuf:"bytes,1,opt,name=connector,proto3" json:"connector,omitempty"`
	Actions   map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DataSource) Descriptor deprecated

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

Deprecated: Use DataSource.ProtoReflect.Descriptor instead.

func (*DataSource) GetActions

func (x *DataSource) GetActions() map[string]string

func (*DataSource) GetConnector

func (x *DataSource) GetConnector() *DataConnector

func (*DataSource) ProtoMessage

func (*DataSource) ProtoMessage()

func (*DataSource) ProtoReflect

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

func (*DataSource) Reset

func (x *DataSource) Reset()

func (*DataSource) String

func (x *DataSource) String() string

type ExportModelRequest

type ExportModelRequest struct {
	Pod string `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	// contains filtered or unexported fields
}

func (*ExportModelRequest) Descriptor deprecated

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

Deprecated: Use ExportModelRequest.ProtoReflect.Descriptor instead.

func (*ExportModelRequest) GetPod

func (x *ExportModelRequest) GetPod() string

func (*ExportModelRequest) GetTag

func (x *ExportModelRequest) GetTag() string

func (*ExportModelRequest) ProtoMessage

func (*ExportModelRequest) ProtoMessage()

func (*ExportModelRequest) ProtoReflect

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

func (*ExportModelRequest) Reset

func (x *ExportModelRequest) Reset()

func (*ExportModelRequest) String

func (x *ExportModelRequest) String() string

type ExportModelResult

type ExportModelResult struct {
	Response  *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
	ModelPath string    `protobuf:"bytes,2,opt,name=model_path,json=modelPath,proto3" json:"model_path,omitempty"`
	// contains filtered or unexported fields
}

func (*ExportModelResult) Descriptor deprecated

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

Deprecated: Use ExportModelResult.ProtoReflect.Descriptor instead.

func (*ExportModelResult) GetModelPath

func (x *ExportModelResult) GetModelPath() string

func (*ExportModelResult) GetResponse

func (x *ExportModelResult) GetResponse() *Response

func (*ExportModelResult) ProtoMessage

func (*ExportModelResult) ProtoMessage()

func (*ExportModelResult) ProtoReflect

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

func (*ExportModelResult) Reset

func (x *ExportModelResult) Reset()

func (*ExportModelResult) String

func (x *ExportModelResult) String() string

type FieldData

type FieldData struct {
	Initializer float64  `protobuf:"fixed64,1,opt,name=initializer,proto3" json:"initializer,omitempty"`
	FillMethod  FillType `protobuf:"varint,2,opt,name=fill_method,json=fillMethod,proto3,enum=aiengine.FillType" json:"fill_method,omitempty"`
	// contains filtered or unexported fields
}

func (*FieldData) Descriptor deprecated

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

Deprecated: Use FieldData.ProtoReflect.Descriptor instead.

func (*FieldData) GetFillMethod

func (x *FieldData) GetFillMethod() FillType

func (*FieldData) GetInitializer

func (x *FieldData) GetInitializer() float64

func (*FieldData) ProtoMessage

func (*FieldData) ProtoMessage()

func (*FieldData) ProtoReflect

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

func (*FieldData) Reset

func (x *FieldData) Reset()

func (*FieldData) String

func (x *FieldData) String() string

type FillType

type FillType int32
const (
	FillType_FILL_FORWARD FillType = 0
	FillType_FILL_ZERO    FillType = 1
)

func (FillType) Descriptor

func (FillType) Descriptor() protoreflect.EnumDescriptor

func (FillType) Enum

func (x FillType) Enum() *FillType

func (FillType) EnumDescriptor deprecated

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

Deprecated: Use FillType.Descriptor instead.

func (FillType) Number

func (x FillType) Number() protoreflect.EnumNumber

func (FillType) String

func (x FillType) String() string

func (FillType) Type

type HealthRequest

type HealthRequest struct {
	// contains filtered or unexported fields
}

func (*HealthRequest) Descriptor deprecated

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

Deprecated: Use HealthRequest.ProtoReflect.Descriptor instead.

func (*HealthRequest) ProtoMessage

func (*HealthRequest) ProtoMessage()

func (*HealthRequest) ProtoReflect

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

func (*HealthRequest) Reset

func (x *HealthRequest) Reset()

func (*HealthRequest) String

func (x *HealthRequest) String() string

type ImportModelRequest

type ImportModelRequest struct {
	Pod        string `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	Tag        string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	ImportPath string `protobuf:"bytes,3,opt,name=import_path,json=importPath,proto3" json:"import_path,omitempty"`
	// contains filtered or unexported fields
}

func (*ImportModelRequest) Descriptor deprecated

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

Deprecated: Use ImportModelRequest.ProtoReflect.Descriptor instead.

func (*ImportModelRequest) GetImportPath

func (x *ImportModelRequest) GetImportPath() string

func (*ImportModelRequest) GetPod

func (x *ImportModelRequest) GetPod() string

func (*ImportModelRequest) GetTag

func (x *ImportModelRequest) GetTag() string

func (*ImportModelRequest) ProtoMessage

func (*ImportModelRequest) ProtoMessage()

func (*ImportModelRequest) ProtoReflect

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

func (*ImportModelRequest) Reset

func (x *ImportModelRequest) Reset()

func (*ImportModelRequest) String

func (x *ImportModelRequest) String() string

type InferenceRequest

type InferenceRequest struct {
	Pod           string `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	Tag           string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	InferenceTime int64  `protobuf:"varint,3,opt,name=inference_time,json=inferenceTime,proto3" json:"inference_time,omitempty"`
	// contains filtered or unexported fields
}

func (*InferenceRequest) Descriptor deprecated

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

Deprecated: Use InferenceRequest.ProtoReflect.Descriptor instead.

func (*InferenceRequest) GetInferenceTime

func (x *InferenceRequest) GetInferenceTime() int64

func (*InferenceRequest) GetPod

func (x *InferenceRequest) GetPod() string

func (*InferenceRequest) GetTag

func (x *InferenceRequest) GetTag() string

func (*InferenceRequest) ProtoMessage

func (*InferenceRequest) ProtoMessage()

func (*InferenceRequest) ProtoReflect

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

func (*InferenceRequest) Reset

func (x *InferenceRequest) Reset()

func (*InferenceRequest) String

func (x *InferenceRequest) String() string

type InferenceResult

type InferenceResult struct {
	Response   *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
	Start      int64     `protobuf:"varint,2,opt,name=start,proto3" json:"start,omitempty"`
	End        int64     `protobuf:"varint,3,opt,name=end,proto3" json:"end,omitempty"`
	Action     string    `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"`
	Confidence float32   `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
	Tag        string    `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"`
	// contains filtered or unexported fields
}

func (*InferenceResult) Descriptor deprecated

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

Deprecated: Use InferenceResult.ProtoReflect.Descriptor instead.

func (*InferenceResult) GetAction

func (x *InferenceResult) GetAction() string

func (*InferenceResult) GetConfidence

func (x *InferenceResult) GetConfidence() float32

func (*InferenceResult) GetEnd

func (x *InferenceResult) GetEnd() int64

func (*InferenceResult) GetResponse

func (x *InferenceResult) GetResponse() *Response

func (*InferenceResult) GetStart

func (x *InferenceResult) GetStart() int64

func (*InferenceResult) GetTag

func (x *InferenceResult) GetTag() string

func (*InferenceResult) ProtoMessage

func (*InferenceResult) ProtoMessage()

func (*InferenceResult) ProtoReflect

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

func (*InferenceResult) Reset

func (x *InferenceResult) Reset()

func (*InferenceResult) String

func (x *InferenceResult) String() string

type InitRequest

type InitRequest struct {
	Pod                 string                `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	Period              int64                 `protobuf:"varint,2,opt,name=period,proto3" json:"period,omitempty"`
	Interval            int64                 `protobuf:"varint,3,opt,name=interval,proto3" json:"interval,omitempty"`
	Granularity         int64                 `protobuf:"varint,4,opt,name=granularity,proto3" json:"granularity,omitempty"`
	EpochTime           int64                 `protobuf:"varint,5,opt,name=epoch_time,json=epochTime,proto3" json:"epoch_time,omitempty"`
	Actions             map[string]string     `` /* 155-byte string literal not displayed */
	ActionsOrder        map[string]int32      `` /* 186-byte string literal not displayed */
	Fields              map[string]*FieldData `` /* 153-byte string literal not displayed */
	Laws                []string              `protobuf:"bytes,9,rep,name=laws,proto3" json:"laws,omitempty"`
	Datasources         []*DataSource         `protobuf:"bytes,10,rep,name=datasources,proto3" json:"datasources,omitempty"`
	ExternalRewardFuncs string                `protobuf:"bytes,11,opt,name=external_reward_funcs,json=externalRewardFuncs,proto3" json:"external_reward_funcs,omitempty"`
	Interpolation       bool                  `protobuf:"varint,12,opt,name=interpolation,proto3" json:"interpolation,omitempty"`
	// contains filtered or unexported fields
}

func (*InitRequest) Descriptor deprecated

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

Deprecated: Use InitRequest.ProtoReflect.Descriptor instead.

func (*InitRequest) GetActions

func (x *InitRequest) GetActions() map[string]string

func (*InitRequest) GetActionsOrder

func (x *InitRequest) GetActionsOrder() map[string]int32

func (*InitRequest) GetDatasources

func (x *InitRequest) GetDatasources() []*DataSource

func (*InitRequest) GetEpochTime

func (x *InitRequest) GetEpochTime() int64

func (*InitRequest) GetExternalRewardFuncs

func (x *InitRequest) GetExternalRewardFuncs() string

func (*InitRequest) GetFields

func (x *InitRequest) GetFields() map[string]*FieldData

func (*InitRequest) GetGranularity

func (x *InitRequest) GetGranularity() int64

func (*InitRequest) GetInterpolation

func (x *InitRequest) GetInterpolation() bool

func (*InitRequest) GetInterval

func (x *InitRequest) GetInterval() int64

func (*InitRequest) GetLaws

func (x *InitRequest) GetLaws() []string

func (*InitRequest) GetPeriod

func (x *InitRequest) GetPeriod() int64

func (*InitRequest) GetPod

func (x *InitRequest) GetPod() string

func (*InitRequest) ProtoMessage

func (*InitRequest) ProtoMessage()

func (*InitRequest) ProtoReflect

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

func (*InitRequest) Reset

func (x *InitRequest) Reset()

func (*InitRequest) String

func (x *InitRequest) String() string

type Response

type Response struct {
	Result  string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	Error   bool   `protobuf:"varint,3,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*Response) Descriptor deprecated

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

Deprecated: Use Response.ProtoReflect.Descriptor instead.

func (*Response) GetError

func (x *Response) GetError() bool

func (*Response) GetMessage

func (x *Response) GetMessage() string

func (*Response) GetResult

func (x *Response) GetResult() string

func (*Response) ProtoMessage

func (*Response) ProtoMessage()

func (*Response) ProtoReflect

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

func (*Response) Reset

func (x *Response) Reset()

func (*Response) String

func (x *Response) String() string

type StartTrainingRequest

type StartTrainingRequest struct {
	Pod               string   `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"`
	NumberEpisodes    int64    `protobuf:"varint,2,opt,name=number_episodes,json=numberEpisodes,proto3" json:"number_episodes,omitempty"`
	Flight            string   `protobuf:"bytes,3,opt,name=flight,proto3" json:"flight,omitempty"`
	TrainingGoal      string   `protobuf:"bytes,4,opt,name=training_goal,json=trainingGoal,proto3" json:"training_goal,omitempty"`
	EpochTime         int64    `protobuf:"varint,5,opt,name=epoch_time,json=epochTime,proto3" json:"epoch_time,omitempty"`
	LearningAlgorithm string   `protobuf:"bytes,6,opt,name=learning_algorithm,json=learningAlgorithm,proto3" json:"learning_algorithm,omitempty"`
	TrainingDataDir   string   `protobuf:"bytes,7,opt,name=training_data_dir,json=trainingDataDir,proto3" json:"training_data_dir,omitempty"`
	TrainingLoggers   []string `protobuf:"bytes,8,rep,name=training_loggers,json=trainingLoggers,proto3" json:"training_loggers,omitempty"`
	// contains filtered or unexported fields
}

func (*StartTrainingRequest) Descriptor deprecated

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

Deprecated: Use StartTrainingRequest.ProtoReflect.Descriptor instead.

func (*StartTrainingRequest) GetEpochTime

func (x *StartTrainingRequest) GetEpochTime() int64

func (*StartTrainingRequest) GetFlight

func (x *StartTrainingRequest) GetFlight() string

func (*StartTrainingRequest) GetLearningAlgorithm

func (x *StartTrainingRequest) GetLearningAlgorithm() string

func (*StartTrainingRequest) GetNumberEpisodes

func (x *StartTrainingRequest) GetNumberEpisodes() int64

func (*StartTrainingRequest) GetPod

func (x *StartTrainingRequest) GetPod() string

func (*StartTrainingRequest) GetTrainingDataDir

func (x *StartTrainingRequest) GetTrainingDataDir() string

func (*StartTrainingRequest) GetTrainingGoal

func (x *StartTrainingRequest) GetTrainingGoal() string

func (*StartTrainingRequest) GetTrainingLoggers

func (x *StartTrainingRequest) GetTrainingLoggers() []string

func (*StartTrainingRequest) ProtoMessage

func (*StartTrainingRequest) ProtoMessage()

func (*StartTrainingRequest) ProtoReflect

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

func (*StartTrainingRequest) Reset

func (x *StartTrainingRequest) Reset()

func (*StartTrainingRequest) String

func (x *StartTrainingRequest) String() string

type UnimplementedAIEngineServer

type UnimplementedAIEngineServer struct {
}

UnimplementedAIEngineServer should be embedded to have forward compatible implementations.

func (UnimplementedAIEngineServer) AddData

func (UnimplementedAIEngineServer) AddInterpretations

func (UnimplementedAIEngineServer) ExportModel

func (UnimplementedAIEngineServer) GetHealth

func (UnimplementedAIEngineServer) GetInference

func (UnimplementedAIEngineServer) ImportModel

func (UnimplementedAIEngineServer) Init

func (UnimplementedAIEngineServer) StartTraining

type UnsafeAIEngineServer

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

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

Jump to

Keyboard shortcuts

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