v1alpha1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2023 License: MIT Imports: 5 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Status_name = map[int32]string{
		0:  "OK",
		1:  "UNSPECIFIC_ERROR",
		2:  "UNKNOWN_COMMAND",
		3:  "NOT_IMPLEMENTED",
		4:  "WRONG_CLIENT",
		5:  "INVALID_PARAMETER",
		6:  "HW_FAULT",
		7:  "STREAM_ALREADY_STARTED",
		8:  "STREAM_ALREADY_STOPPED",
		9:  "STREAM_START_FAILED",
		10: "TEMPORARILY_UNAVAILABLE",
	}
	Status_value = map[string]int32{
		"OK":                      0,
		"UNSPECIFIC_ERROR":        1,
		"UNKNOWN_COMMAND":         2,
		"NOT_IMPLEMENTED":         3,
		"WRONG_CLIENT":            4,
		"INVALID_PARAMETER":       5,
		"HW_FAULT":                6,
		"STREAM_ALREADY_STARTED":  7,
		"STREAM_ALREADY_STOPPED":  8,
		"STREAM_START_FAILED":     9,
		"TEMPORARILY_UNAVAILABLE": 10,
	}
)

Enum value maps for Status.

View Source
var File_io4edge_functionblock_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Command

type Command struct {
	Context *Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
	// Types that are assignable to Type:
	//
	//	*Command_Configuration
	//	*Command_FunctionControl
	//	*Command_StreamControl
	Type isCommand_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

------- Commands ---------

func (*Command) Descriptor deprecated

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

Deprecated: Use Command.ProtoReflect.Descriptor instead.

func (*Command) GetConfiguration added in v0.4.0

func (x *Command) GetConfiguration() *Configuration

func (*Command) GetContext

func (x *Command) GetContext() *Context

func (*Command) GetFunctionControl

func (x *Command) GetFunctionControl() *FunctionControl

func (*Command) GetStreamControl

func (x *Command) GetStreamControl() *StreamControl

func (*Command) GetType

func (m *Command) GetType() isCommand_Type

func (*Command) ProtoMessage

func (*Command) ProtoMessage()

func (*Command) ProtoReflect

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

func (*Command) Reset

func (x *Command) Reset()

func (*Command) String

func (x *Command) String() string

type Command_Configuration added in v0.4.0

type Command_Configuration struct {
	Configuration *Configuration `protobuf:"bytes,2,opt,name=Configuration,proto3,oneof"`
}

type Command_FunctionControl

type Command_FunctionControl struct {
	FunctionControl *FunctionControl `protobuf:"bytes,3,opt,name=functionControl,proto3,oneof"`
}

type Command_StreamControl

type Command_StreamControl struct {
	StreamControl *StreamControl `protobuf:"bytes,4,opt,name=streamControl,proto3,oneof"`
}

type Configuration added in v0.4.0

type Configuration struct {

	// Types that are assignable to Action:
	//
	//	*Configuration_FunctionSpecificConfigurationSet
	//	*Configuration_FunctionSpecificConfigurationGet
	//	*Configuration_FunctionSpecificConfigurationDescribe
	Action isConfiguration_Action `protobuf_oneof:"action"`
	// contains filtered or unexported fields
}

Configuration contains the function blocks high level configuration

func (*Configuration) Descriptor deprecated added in v0.4.0

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

Deprecated: Use Configuration.ProtoReflect.Descriptor instead.

func (*Configuration) GetAction added in v0.4.0

func (m *Configuration) GetAction() isConfiguration_Action

func (*Configuration) GetFunctionSpecificConfigurationDescribe added in v0.4.0

func (x *Configuration) GetFunctionSpecificConfigurationDescribe() *anypb.Any

func (*Configuration) GetFunctionSpecificConfigurationGet added in v0.4.0

func (x *Configuration) GetFunctionSpecificConfigurationGet() *anypb.Any

func (*Configuration) GetFunctionSpecificConfigurationSet added in v0.4.0

func (x *Configuration) GetFunctionSpecificConfigurationSet() *anypb.Any

func (*Configuration) ProtoMessage added in v0.4.0

func (*Configuration) ProtoMessage()

func (*Configuration) ProtoReflect added in v0.4.0

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

func (*Configuration) Reset added in v0.4.0

func (x *Configuration) Reset()

func (*Configuration) String added in v0.4.0

func (x *Configuration) String() string

type ConfigurationResponse added in v0.4.0

type ConfigurationResponse struct {

	// Types that are assignable to Action:
	//
	//	*ConfigurationResponse_FunctionSpecificConfigurationSet
	//	*ConfigurationResponse_FunctionSpecificConfigurationGet
	//	*ConfigurationResponse_FunctionSpecificConfigurationDescribe
	Action isConfigurationResponse_Action `protobuf_oneof:"action"`
	// contains filtered or unexported fields
}

func (*ConfigurationResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use ConfigurationResponse.ProtoReflect.Descriptor instead.

func (*ConfigurationResponse) GetAction added in v0.4.0

func (m *ConfigurationResponse) GetAction() isConfigurationResponse_Action

func (*ConfigurationResponse) GetFunctionSpecificConfigurationDescribe added in v0.4.0

func (x *ConfigurationResponse) GetFunctionSpecificConfigurationDescribe() *anypb.Any

func (*ConfigurationResponse) GetFunctionSpecificConfigurationGet added in v0.4.0

func (x *ConfigurationResponse) GetFunctionSpecificConfigurationGet() *anypb.Any

func (*ConfigurationResponse) GetFunctionSpecificConfigurationSet added in v0.4.0

func (x *ConfigurationResponse) GetFunctionSpecificConfigurationSet() *anypb.Any

func (*ConfigurationResponse) ProtoMessage added in v0.4.0

func (*ConfigurationResponse) ProtoMessage()

func (*ConfigurationResponse) ProtoReflect added in v0.4.0

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

func (*ConfigurationResponse) Reset added in v0.4.0

func (x *ConfigurationResponse) Reset()

func (*ConfigurationResponse) String added in v0.4.0

func (x *ConfigurationResponse) String() string

type ConfigurationResponse_FunctionSpecificConfigurationDescribe added in v0.4.0

type ConfigurationResponse_FunctionSpecificConfigurationDescribe struct {
	// Describe hardware capabilities
	FunctionSpecificConfigurationDescribe *anypb.Any `protobuf:"bytes,30,opt,name=functionSpecificConfigurationDescribe,proto3,oneof"`
}

type ConfigurationResponse_FunctionSpecificConfigurationGet added in v0.4.0

type ConfigurationResponse_FunctionSpecificConfigurationGet struct {
	// Getting the current configuration
	FunctionSpecificConfigurationGet *anypb.Any `protobuf:"bytes,20,opt,name=functionSpecificConfigurationGet,proto3,oneof"`
}

type ConfigurationResponse_FunctionSpecificConfigurationSet added in v0.4.0

type ConfigurationResponse_FunctionSpecificConfigurationSet struct {
	// Setting a new configuration
	FunctionSpecificConfigurationSet *anypb.Any `protobuf:"bytes,10,opt,name=functionSpecificConfigurationSet,proto3,oneof"`
}

type Configuration_FunctionSpecificConfigurationDescribe added in v0.4.0

type Configuration_FunctionSpecificConfigurationDescribe struct {
	// Describe hardware capabilities
	FunctionSpecificConfigurationDescribe *anypb.Any `protobuf:"bytes,30,opt,name=functionSpecificConfigurationDescribe,proto3,oneof"`
}

type Configuration_FunctionSpecificConfigurationGet added in v0.4.0

type Configuration_FunctionSpecificConfigurationGet struct {
	// Getting the current configuration
	FunctionSpecificConfigurationGet *anypb.Any `protobuf:"bytes,20,opt,name=functionSpecificConfigurationGet,proto3,oneof"`
}

type Configuration_FunctionSpecificConfigurationSet added in v0.4.0

type Configuration_FunctionSpecificConfigurationSet struct {
	// Setting a new configuration
	FunctionSpecificConfigurationSet *anypb.Any `protobuf:"bytes,10,opt,name=functionSpecificConfigurationSet,proto3,oneof"`
}

type Context

type Context struct {

	// A message identifying key for a command-response pairs, e.g. an UUID the
	// clients sends on the request.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

-------- Meta ------------

func (*Context) Descriptor deprecated

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

Deprecated: Use Context.ProtoReflect.Descriptor instead.

func (*Context) GetValue

func (x *Context) GetValue() string

func (*Context) ProtoMessage

func (*Context) ProtoMessage()

func (*Context) ProtoReflect

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

func (*Context) Reset

func (x *Context) Reset()

func (*Context) String

func (x *Context) String() string

type Error

type Error struct {
	Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*Error) Descriptor deprecated

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

Deprecated: Use Error.ProtoReflect.Descriptor instead.

func (*Error) GetError

func (x *Error) GetError() string

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) ProtoReflect

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

func (*Error) Reset

func (x *Error) Reset()

func (*Error) String

func (x *Error) String() string

type FunctionControl

type FunctionControl struct {

	// Types that are assignable to Action:
	//
	//	*FunctionControl_FunctionSpecificFunctionControlSet
	//	*FunctionControl_FunctionSpecificFunctionControlGet
	Action isFunctionControl_Action `protobuf_oneof:"action"`
	// contains filtered or unexported fields
}

FunctionControl specifies the direct function control for getting and setting values

func (*FunctionControl) Descriptor deprecated

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

Deprecated: Use FunctionControl.ProtoReflect.Descriptor instead.

func (*FunctionControl) GetAction

func (m *FunctionControl) GetAction() isFunctionControl_Action

func (*FunctionControl) GetFunctionSpecificFunctionControlGet

func (x *FunctionControl) GetFunctionSpecificFunctionControlGet() *anypb.Any

func (*FunctionControl) GetFunctionSpecificFunctionControlSet

func (x *FunctionControl) GetFunctionSpecificFunctionControlSet() *anypb.Any

func (*FunctionControl) ProtoMessage

func (*FunctionControl) ProtoMessage()

func (*FunctionControl) ProtoReflect

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

func (*FunctionControl) Reset

func (x *FunctionControl) Reset()

func (*FunctionControl) String

func (x *FunctionControl) String() string

type FunctionControlResponse

type FunctionControlResponse struct {

	// Types that are assignable to Action:
	//
	//	*FunctionControlResponse_FunctionSpecificFunctionControlSet
	//	*FunctionControlResponse_FunctionSpecificFunctionControlGet
	Action isFunctionControlResponse_Action `protobuf_oneof:"action"`
	// contains filtered or unexported fields
}

func (*FunctionControlResponse) Descriptor deprecated

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

Deprecated: Use FunctionControlResponse.ProtoReflect.Descriptor instead.

func (*FunctionControlResponse) GetAction added in v0.4.0

func (m *FunctionControlResponse) GetAction() isFunctionControlResponse_Action

func (*FunctionControlResponse) GetFunctionSpecificFunctionControlGet added in v0.4.0

func (x *FunctionControlResponse) GetFunctionSpecificFunctionControlGet() *anypb.Any

func (*FunctionControlResponse) GetFunctionSpecificFunctionControlSet added in v0.4.0

func (x *FunctionControlResponse) GetFunctionSpecificFunctionControlSet() *anypb.Any

func (*FunctionControlResponse) ProtoMessage

func (*FunctionControlResponse) ProtoMessage()

func (*FunctionControlResponse) ProtoReflect

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

func (*FunctionControlResponse) Reset

func (x *FunctionControlResponse) Reset()

func (*FunctionControlResponse) String

func (x *FunctionControlResponse) String() string

type FunctionControlResponse_FunctionSpecificFunctionControlGet added in v0.4.0

type FunctionControlResponse_FunctionSpecificFunctionControlGet struct {
	FunctionSpecificFunctionControlGet *anypb.Any `protobuf:"bytes,2,opt,name=functionSpecificFunctionControlGet,proto3,oneof"`
}

type FunctionControlResponse_FunctionSpecificFunctionControlSet added in v0.4.0

type FunctionControlResponse_FunctionSpecificFunctionControlSet struct {
	FunctionSpecificFunctionControlSet *anypb.Any `protobuf:"bytes,1,opt,name=functionSpecificFunctionControlSet,proto3,oneof"`
}

type FunctionControl_FunctionSpecificFunctionControlGet

type FunctionControl_FunctionSpecificFunctionControlGet struct {
	FunctionSpecificFunctionControlGet *anypb.Any `protobuf:"bytes,2,opt,name=functionSpecificFunctionControlGet,proto3,oneof"`
}

type FunctionControl_FunctionSpecificFunctionControlSet

type FunctionControl_FunctionSpecificFunctionControlSet struct {
	FunctionSpecificFunctionControlSet *anypb.Any `protobuf:"bytes,1,opt,name=functionSpecificFunctionControlSet,proto3,oneof"`
}

type Response

type Response struct {
	Context *Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
	Status  Status   `protobuf:"varint,2,opt,name=status,proto3,enum=functionblock.Status" json:"status,omitempty"`
	Error   *Error   `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// Types that are assignable to Type:
	//
	//	*Response_Configuration
	//	*Response_FunctionControl
	//	*Response_StreamControl
	//	*Response_Stream
	Type isResponse_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

func (*Response) Descriptor deprecated

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

Deprecated: Use Response.ProtoReflect.Descriptor instead.

func (*Response) GetConfiguration added in v0.4.0

func (x *Response) GetConfiguration() *ConfigurationResponse

func (*Response) GetContext

func (x *Response) GetContext() *Context

func (*Response) GetError

func (x *Response) GetError() *Error

func (*Response) GetFunctionControl

func (x *Response) GetFunctionControl() *FunctionControlResponse

func (*Response) GetStatus

func (x *Response) GetStatus() Status

func (*Response) GetStream

func (x *Response) GetStream() *StreamData

func (*Response) GetStreamControl

func (x *Response) GetStreamControl() *StreamControlResponse

func (*Response) GetType

func (m *Response) GetType() isResponse_Type

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 Response_Configuration added in v0.4.0

type Response_Configuration struct {
	Configuration *ConfigurationResponse `protobuf:"bytes,4,opt,name=Configuration,proto3,oneof"`
}

type Response_FunctionControl

type Response_FunctionControl struct {
	FunctionControl *FunctionControlResponse `protobuf:"bytes,5,opt,name=functionControl,proto3,oneof"`
}

type Response_Stream

type Response_Stream struct {
	Stream *StreamData `protobuf:"bytes,7,opt,name=stream,proto3,oneof"`
}

type Response_StreamControl

type Response_StreamControl struct {
	StreamControl *StreamControlResponse `protobuf:"bytes,6,opt,name=streamControl,proto3,oneof"`
}

type Status

type Status int32

--------- Responses ------------

const (
	Status_OK                      Status = 0
	Status_UNSPECIFIC_ERROR        Status = 1
	Status_UNKNOWN_COMMAND         Status = 2
	Status_NOT_IMPLEMENTED         Status = 3
	Status_WRONG_CLIENT            Status = 4
	Status_INVALID_PARAMETER       Status = 5
	Status_HW_FAULT                Status = 6
	Status_STREAM_ALREADY_STARTED  Status = 7
	Status_STREAM_ALREADY_STOPPED  Status = 8
	Status_STREAM_START_FAILED     Status = 9
	Status_TEMPORARILY_UNAVAILABLE Status = 10
)

func (Status) Descriptor

func (Status) Descriptor() protoreflect.EnumDescriptor

func (Status) Enum

func (x Status) Enum() *Status

func (Status) EnumDescriptor deprecated

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

Deprecated: Use Status.Descriptor instead.

func (Status) Number

func (x Status) Number() protoreflect.EnumNumber

func (Status) String

func (x Status) String() string

func (Status) Type

func (Status) Type() protoreflect.EnumType

type StreamControl

type StreamControl struct {

	// Types that are assignable to Action:
	//
	//	*StreamControl_Start
	//	*StreamControl_Stop
	Action isStreamControl_Action `protobuf_oneof:"action"`
	// contains filtered or unexported fields
}

StreamControl specifies if the stream shall be started or stopped

func (*StreamControl) Descriptor deprecated

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

Deprecated: Use StreamControl.ProtoReflect.Descriptor instead.

func (*StreamControl) GetAction

func (m *StreamControl) GetAction() isStreamControl_Action

func (*StreamControl) GetStart

func (x *StreamControl) GetStart() *StreamControlStart

func (*StreamControl) GetStop

func (x *StreamControl) GetStop() *StreamControlStop

func (*StreamControl) ProtoMessage

func (*StreamControl) ProtoMessage()

func (*StreamControl) ProtoReflect

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

func (*StreamControl) Reset

func (x *StreamControl) Reset()

func (*StreamControl) String

func (x *StreamControl) String() string

type StreamControlResponse

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

func (*StreamControlResponse) Descriptor deprecated

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

Deprecated: Use StreamControlResponse.ProtoReflect.Descriptor instead.

func (*StreamControlResponse) ProtoMessage

func (*StreamControlResponse) ProtoMessage()

func (*StreamControlResponse) ProtoReflect

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

func (*StreamControlResponse) Reset

func (x *StreamControlResponse) Reset()

func (*StreamControlResponse) String

func (x *StreamControlResponse) String() string

type StreamControlStart

type StreamControlStart struct {

	// number of maximum samples transported in a single Stream Data Message
	// must be >= 1
	BucketSamples uint32 `protobuf:"fixed32,1,opt,name=bucketSamples,proto3" json:"bucketSamples,omitempty"`
	// maximum interval in ms between two stream messages. If there are no or very few stream messages for a
	// certain time, the client is informed that the stream is still active and the existing data is transmitted.
	// must be >= 100 (ms)
	KeepaliveInterval uint32 `protobuf:"fixed32,2,opt,name=keepaliveInterval,proto3" json:"keepaliveInterval,omitempty"`
	// number of buffered samples for this stream
	// must be >= 1 and >= bucketSamples
	BufferedSamples uint32 `protobuf:"fixed32,3,opt,name=bufferedSamples,proto3" json:"bufferedSamples,omitempty"`
	// function specific
	FunctionSpecificStreamControlStart *anypb.Any `protobuf:"bytes,4,opt,name=functionSpecificStreamControlStart,proto3" json:"functionSpecificStreamControlStart,omitempty"`
	// low latency mode for stream: Sends samples as soon as possible, if currently no more buffered samples are ready.
	LowLatencyMode bool `protobuf:"varint,5,opt,name=low_latency_mode,json=lowLatencyMode,proto3" json:"low_latency_mode,omitempty"`
	// contains filtered or unexported fields
}

StreamControlStart specifies the start of a stream.

func (*StreamControlStart) Descriptor deprecated

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

Deprecated: Use StreamControlStart.ProtoReflect.Descriptor instead.

func (*StreamControlStart) GetBucketSamples added in v0.4.0

func (x *StreamControlStart) GetBucketSamples() uint32

func (*StreamControlStart) GetBufferedSamples added in v0.4.0

func (x *StreamControlStart) GetBufferedSamples() uint32

func (*StreamControlStart) GetFunctionSpecificStreamControlStart

func (x *StreamControlStart) GetFunctionSpecificStreamControlStart() *anypb.Any

func (*StreamControlStart) GetKeepaliveInterval added in v0.4.0

func (x *StreamControlStart) GetKeepaliveInterval() uint32

func (*StreamControlStart) GetLowLatencyMode added in v0.11.0

func (x *StreamControlStart) GetLowLatencyMode() bool

func (*StreamControlStart) ProtoMessage

func (*StreamControlStart) ProtoMessage()

func (*StreamControlStart) ProtoReflect

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

func (*StreamControlStart) Reset

func (x *StreamControlStart) Reset()

func (*StreamControlStart) String

func (x *StreamControlStart) String() string

type StreamControlStop

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

StreamControlStart specifies the stop of a stream.

func (*StreamControlStop) Descriptor deprecated

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

Deprecated: Use StreamControlStop.ProtoReflect.Descriptor instead.

func (*StreamControlStop) ProtoMessage

func (*StreamControlStop) ProtoMessage()

func (*StreamControlStop) ProtoReflect

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

func (*StreamControlStop) Reset

func (x *StreamControlStop) Reset()

func (*StreamControlStop) String

func (x *StreamControlStop) String() string

type StreamControl_Start

type StreamControl_Start struct {
	Start *StreamControlStart `protobuf:"bytes,1,opt,name=start,proto3,oneof"`
}

type StreamControl_Stop

type StreamControl_Stop struct {
	Stop *StreamControlStop `protobuf:"bytes,2,opt,name=stop,proto3,oneof"`
}

type StreamData

type StreamData struct {

	// timestamp when the message has been sent out
	DeliveryTimestampUs uint64 `protobuf:"fixed64,1,opt,name=deliveryTimestampUs,proto3" json:"deliveryTimestampUs,omitempty"`
	// sample series sequence number (counted from 0, rolls over)
	Sequence uint32 `protobuf:"fixed32,2,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// Function specific data type
	FunctionSpecificStreamData *anypb.Any `protobuf:"bytes,10,opt,name=functionSpecificStreamData,proto3" json:"functionSpecificStreamData,omitempty"`
	// contains filtered or unexported fields
}

func (*StreamData) Descriptor deprecated

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

Deprecated: Use StreamData.ProtoReflect.Descriptor instead.

func (*StreamData) GetDeliveryTimestampUs

func (x *StreamData) GetDeliveryTimestampUs() uint64

func (*StreamData) GetFunctionSpecificStreamData

func (x *StreamData) GetFunctionSpecificStreamData() *anypb.Any

func (*StreamData) GetSequence

func (x *StreamData) GetSequence() uint32

func (*StreamData) ProtoMessage

func (*StreamData) ProtoMessage()

func (*StreamData) ProtoReflect

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

func (*StreamData) Reset

func (x *StreamData) Reset()

func (*StreamData) String

func (x *StreamData) String() string

Jump to

Keyboard shortcuts

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