client

package
v1.2.11-prerelease8 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Package client is a generated GoMock package.

Package client is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bean

type Bean interface {
	Close()

	GetDomainManager() persistence.DomainManager
	SetDomainManager(persistence.DomainManager)

	GetTaskManager() persistence.TaskManager
	SetTaskManager(persistence.TaskManager)

	GetVisibilityManager() persistence.VisibilityManager
	SetVisibilityManager(persistence.VisibilityManager)

	GetDomainReplicationQueueManager() persistence.QueueManager
	SetDomainReplicationQueueManager(persistence.QueueManager)

	GetShardManager() persistence.ShardManager
	SetShardManager(persistence.ShardManager)

	GetHistoryManager() persistence.HistoryManager
	SetHistoryManager(persistence.HistoryManager)

	GetExecutionManager(int) (persistence.ExecutionManager, error)
	SetExecutionManager(int, persistence.ExecutionManager)

	GetConfigStoreManager() persistence.ConfigStoreManager
	SetConfigStoreManager(persistence.ConfigStoreManager)
}

Bean in an collection of persistence manager

type BeanImpl

type BeanImpl struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

BeanImpl stores persistence managers

func NewBean

func NewBean(
	domainManager persistence.DomainManager,
	taskManager persistence.TaskManager,
	visibilityManager persistence.VisibilityManager,
	domainReplicationQueueManager persistence.QueueManager,
	shardManager persistence.ShardManager,
	historyManager persistence.HistoryManager,
	configStoreManager persistence.ConfigStoreManager,
	executionManagerFactory persistence.ExecutionManagerFactory,
) *BeanImpl

NewBean create a new store bean

func NewBeanFromFactory

func NewBeanFromFactory(
	factory Factory,
	params *Params,
	serviceConfig *service.Config,
) (*BeanImpl, error)

NewBeanFromFactory crate a new store bean using factory

func (*BeanImpl) Close

func (s *BeanImpl) Close()

Close cleanup connections

func (*BeanImpl) GetConfigStoreManager added in v0.23.1

func (s *BeanImpl) GetConfigStoreManager() persistence.ConfigStoreManager

GetConfigStoreManager gets ConfigStoreManager

func (*BeanImpl) GetDomainManager added in v0.22.0

func (s *BeanImpl) GetDomainManager() persistence.DomainManager

GetDomainManager get DomainManager

func (*BeanImpl) GetDomainReplicationQueueManager added in v0.17.0

func (s *BeanImpl) GetDomainReplicationQueueManager() persistence.QueueManager

GetDomainReplicationQueueManager gets domain replication QueueManager

func (*BeanImpl) GetExecutionManager

func (s *BeanImpl) GetExecutionManager(
	shardID int,
) (persistence.ExecutionManager, error)

GetExecutionManager get ExecutionManager

func (*BeanImpl) GetHistoryManager

func (s *BeanImpl) GetHistoryManager() persistence.HistoryManager

GetHistoryManager get HistoryManager

func (*BeanImpl) GetShardManager

func (s *BeanImpl) GetShardManager() persistence.ShardManager

GetShardManager get ShardManager

func (*BeanImpl) GetTaskManager

func (s *BeanImpl) GetTaskManager() persistence.TaskManager

GetTaskManager get TaskManager

func (*BeanImpl) GetVisibilityManager

func (s *BeanImpl) GetVisibilityManager() persistence.VisibilityManager

GetVisibilityManager get VisibilityManager

func (*BeanImpl) SetConfigStoreManager added in v0.23.1

func (s *BeanImpl) SetConfigStoreManager(
	configStoreManager persistence.ConfigStoreManager,
)

GetConfigStoreManager gets ConfigStoreManager

func (*BeanImpl) SetDomainManager added in v0.22.0

func (s *BeanImpl) SetDomainManager(
	domainManager persistence.DomainManager,
)

SetMetadataManager set DomainManager

func (*BeanImpl) SetDomainReplicationQueueManager added in v0.17.0

func (s *BeanImpl) SetDomainReplicationQueueManager(
	domainReplicationQueueManager persistence.QueueManager,
)

SetDomainReplicationQueueManager sets domain replication QueueManager

func (*BeanImpl) SetExecutionManager

func (s *BeanImpl) SetExecutionManager(
	shardID int,
	executionManager persistence.ExecutionManager,
)

SetExecutionManager set ExecutionManager

func (*BeanImpl) SetHistoryManager

func (s *BeanImpl) SetHistoryManager(
	historyManager persistence.HistoryManager,
)

SetHistoryManager set HistoryManager

func (*BeanImpl) SetShardManager

func (s *BeanImpl) SetShardManager(
	shardManager persistence.ShardManager,
)

SetShardManager set ShardManager

func (*BeanImpl) SetTaskManager

func (s *BeanImpl) SetTaskManager(
	taskManager persistence.TaskManager,
)

SetTaskManager set TaskManager

func (*BeanImpl) SetVisibilityManager

func (s *BeanImpl) SetVisibilityManager(
	visibilityManager persistence.VisibilityManager,
)

SetVisibilityManager set VisibilityManager

type DataStoreFactory

type DataStoreFactory interface {
	// Close closes the factory
	Close()
	// NewTaskStore returns a new task store
	NewTaskStore() (p.TaskStore, error)
	// NewShardStore returns a new shard store
	NewShardStore() (p.ShardStore, error)
	// NewHistoryStore returns a new history store
	NewHistoryStore() (p.HistoryStore, error)
	// NewDomainStore returns a new metadata store
	NewDomainStore() (p.DomainStore, error)
	// NewExecutionStore returns an execution store for given shardID
	NewExecutionStore(shardID int) (p.ExecutionStore, error)
	// NewVisibilityStore returns a new visibility store,
	// TODO We temporarily using sortByCloseTime to determine whether or not ListClosedWorkflowExecutions should
	// be ordering by CloseTime. This will be removed when implementing https://github.com/uber/cadence/issues/3621
	NewVisibilityStore(sortByCloseTime bool) (p.VisibilityStore, error)
	NewQueue(queueType p.QueueType) (p.Queue, error)
	// NewConfigStore returns a new config store
	NewConfigStore() (p.ConfigStore, error)
}

DataStoreFactory is a low level interface to be implemented by a datastore Examples of datastores are cassandra, mysql etc

type Datastore

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

Datastore represents a datastore

type Factory

type Factory interface {
	// Close the factory
	Close()
	// NewTaskManager returns a new task manager
	NewTaskManager() (p.TaskManager, error)
	// NewShardManager returns a new shard manager
	NewShardManager() (p.ShardManager, error)
	// NewHistoryManager returns a new history manager
	NewHistoryManager() (p.HistoryManager, error)
	// NewDomainManager returns a new metadata manager
	NewDomainManager() (p.DomainManager, error)
	// NewExecutionManager returns a new execution manager for a given shardID
	NewExecutionManager(shardID int) (p.ExecutionManager, error)
	// NewVisibilityManager returns a new visibility manager
	NewVisibilityManager(params *Params, serviceConfig *service.Config) (p.VisibilityManager, error)
	// NewDomainReplicationQueueManager returns a new queue for domain replication
	NewDomainReplicationQueueManager() (p.QueueManager, error)
	// NewConfigStoreManager returns a new config store manager
	NewConfigStoreManager() (p.ConfigStoreManager, error)
}

Factory defines the interface for any implementation that can vend persistence layer objects backed by a datastore. The actual datastore is implementation detail hidden behind this interface

func NewFactory

func NewFactory(
	cfg *config.Persistence,
	persistenceMaxQPS quotas.RPSFunc,
	clusterName string,
	metricsClient metrics.Client,
	logger log.Logger,
	dc *p.DynamicConfiguration,
) Factory

NewFactory returns an implementation of factory that vends persistence objects based on specified configuration. This factory takes as input a config.Persistence object which specifies the datastore to be used for a given type of object. This config also contains config for individual datastores themselves.

The objects returned by this factory enforce ratelimit and maxconns according to given configuration. In addition, all objects will emit metrics automatically

type MockBean

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

MockBean is a mock of Bean interface.

func NewMockBean

func NewMockBean(ctrl *gomock.Controller) *MockBean

NewMockBean creates a new mock instance.

func (*MockBean) Close

func (m *MockBean) Close()

Close mocks base method.

func (*MockBean) EXPECT

func (m *MockBean) EXPECT() *MockBeanMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockBean) GetConfigStoreManager added in v0.23.1

func (m *MockBean) GetConfigStoreManager() persistence.ConfigStoreManager

GetConfigStoreManager mocks base method.

func (*MockBean) GetDomainManager added in v0.22.0

func (m *MockBean) GetDomainManager() persistence.DomainManager

GetDomainManager mocks base method.

func (*MockBean) GetDomainReplicationQueueManager added in v0.17.0

func (m *MockBean) GetDomainReplicationQueueManager() persistence.QueueManager

GetDomainReplicationQueueManager mocks base method.

func (*MockBean) GetExecutionManager

func (m *MockBean) GetExecutionManager(arg0 int) (persistence.ExecutionManager, error)

GetExecutionManager mocks base method.

func (*MockBean) GetHistoryManager

func (m *MockBean) GetHistoryManager() persistence.HistoryManager

GetHistoryManager mocks base method.

func (*MockBean) GetShardManager

func (m *MockBean) GetShardManager() persistence.ShardManager

GetShardManager mocks base method.

func (*MockBean) GetTaskManager

func (m *MockBean) GetTaskManager() persistence.TaskManager

GetTaskManager mocks base method.

func (*MockBean) GetVisibilityManager

func (m *MockBean) GetVisibilityManager() persistence.VisibilityManager

GetVisibilityManager mocks base method.

func (*MockBean) SetConfigStoreManager added in v0.23.1

func (m *MockBean) SetConfigStoreManager(arg0 persistence.ConfigStoreManager)

SetConfigStoreManager mocks base method.

func (*MockBean) SetDomainManager added in v0.22.0

func (m *MockBean) SetDomainManager(arg0 persistence.DomainManager)

SetDomainManager mocks base method.

func (*MockBean) SetDomainReplicationQueueManager added in v0.17.0

func (m *MockBean) SetDomainReplicationQueueManager(arg0 persistence.QueueManager)

SetDomainReplicationQueueManager mocks base method.

func (*MockBean) SetExecutionManager

func (m *MockBean) SetExecutionManager(arg0 int, arg1 persistence.ExecutionManager)

SetExecutionManager mocks base method.

func (*MockBean) SetHistoryManager

func (m *MockBean) SetHistoryManager(arg0 persistence.HistoryManager)

SetHistoryManager mocks base method.

func (*MockBean) SetShardManager

func (m *MockBean) SetShardManager(arg0 persistence.ShardManager)

SetShardManager mocks base method.

func (*MockBean) SetTaskManager

func (m *MockBean) SetTaskManager(arg0 persistence.TaskManager)

SetTaskManager mocks base method.

func (*MockBean) SetVisibilityManager

func (m *MockBean) SetVisibilityManager(arg0 persistence.VisibilityManager)

SetVisibilityManager mocks base method.

type MockBeanMockRecorder

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

MockBeanMockRecorder is the mock recorder for MockBean.

func (*MockBeanMockRecorder) Close

func (mr *MockBeanMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

func (*MockBeanMockRecorder) GetConfigStoreManager added in v0.23.1

func (mr *MockBeanMockRecorder) GetConfigStoreManager() *gomock.Call

GetConfigStoreManager indicates an expected call of GetConfigStoreManager.

func (*MockBeanMockRecorder) GetDomainManager added in v0.23.1

func (mr *MockBeanMockRecorder) GetDomainManager() *gomock.Call

GetDomainManager indicates an expected call of GetDomainManager.

func (*MockBeanMockRecorder) GetDomainReplicationQueueManager added in v0.17.0

func (mr *MockBeanMockRecorder) GetDomainReplicationQueueManager() *gomock.Call

GetDomainReplicationQueueManager indicates an expected call of GetDomainReplicationQueueManager.

func (*MockBeanMockRecorder) GetExecutionManager

func (mr *MockBeanMockRecorder) GetExecutionManager(arg0 interface{}) *gomock.Call

GetExecutionManager indicates an expected call of GetExecutionManager.

func (*MockBeanMockRecorder) GetHistoryManager

func (mr *MockBeanMockRecorder) GetHistoryManager() *gomock.Call

GetHistoryManager indicates an expected call of GetHistoryManager.

func (*MockBeanMockRecorder) GetShardManager

func (mr *MockBeanMockRecorder) GetShardManager() *gomock.Call

GetShardManager indicates an expected call of GetShardManager.

func (*MockBeanMockRecorder) GetTaskManager

func (mr *MockBeanMockRecorder) GetTaskManager() *gomock.Call

GetTaskManager indicates an expected call of GetTaskManager.

func (*MockBeanMockRecorder) GetVisibilityManager

func (mr *MockBeanMockRecorder) GetVisibilityManager() *gomock.Call

GetVisibilityManager indicates an expected call of GetVisibilityManager.

func (*MockBeanMockRecorder) SetConfigStoreManager added in v0.23.1

func (mr *MockBeanMockRecorder) SetConfigStoreManager(arg0 interface{}) *gomock.Call

SetConfigStoreManager indicates an expected call of SetConfigStoreManager.

func (*MockBeanMockRecorder) SetDomainManager added in v0.23.1

func (mr *MockBeanMockRecorder) SetDomainManager(arg0 interface{}) *gomock.Call

SetDomainManager indicates an expected call of SetDomainManager.

func (*MockBeanMockRecorder) SetDomainReplicationQueueManager added in v0.17.0

func (mr *MockBeanMockRecorder) SetDomainReplicationQueueManager(arg0 interface{}) *gomock.Call

SetDomainReplicationQueueManager indicates an expected call of SetDomainReplicationQueueManager.

func (*MockBeanMockRecorder) SetExecutionManager

func (mr *MockBeanMockRecorder) SetExecutionManager(arg0, arg1 interface{}) *gomock.Call

SetExecutionManager indicates an expected call of SetExecutionManager.

func (*MockBeanMockRecorder) SetHistoryManager

func (mr *MockBeanMockRecorder) SetHistoryManager(arg0 interface{}) *gomock.Call

SetHistoryManager indicates an expected call of SetHistoryManager.

func (*MockBeanMockRecorder) SetShardManager

func (mr *MockBeanMockRecorder) SetShardManager(arg0 interface{}) *gomock.Call

SetShardManager indicates an expected call of SetShardManager.

func (*MockBeanMockRecorder) SetTaskManager

func (mr *MockBeanMockRecorder) SetTaskManager(arg0 interface{}) *gomock.Call

SetTaskManager indicates an expected call of SetTaskManager.

func (*MockBeanMockRecorder) SetVisibilityManager

func (mr *MockBeanMockRecorder) SetVisibilityManager(arg0 interface{}) *gomock.Call

SetVisibilityManager indicates an expected call of SetVisibilityManager.

type MockDataStoreFactory added in v1.2.9

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

MockDataStoreFactory is a mock of DataStoreFactory interface.

func NewMockDataStoreFactory added in v1.2.9

func NewMockDataStoreFactory(ctrl *gomock.Controller) *MockDataStoreFactory

NewMockDataStoreFactory creates a new mock instance.

func (*MockDataStoreFactory) Close added in v1.2.9

func (m *MockDataStoreFactory) Close()

Close mocks base method.

func (*MockDataStoreFactory) EXPECT added in v1.2.9

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockDataStoreFactory) NewConfigStore added in v1.2.9

func (m *MockDataStoreFactory) NewConfigStore() (persistence.ConfigStore, error)

NewConfigStore mocks base method.

func (*MockDataStoreFactory) NewDomainStore added in v1.2.9

func (m *MockDataStoreFactory) NewDomainStore() (persistence.DomainStore, error)

NewDomainStore mocks base method.

func (*MockDataStoreFactory) NewExecutionStore added in v1.2.9

func (m *MockDataStoreFactory) NewExecutionStore(shardID int) (persistence.ExecutionStore, error)

NewExecutionStore mocks base method.

func (*MockDataStoreFactory) NewHistoryStore added in v1.2.9

func (m *MockDataStoreFactory) NewHistoryStore() (persistence.HistoryStore, error)

NewHistoryStore mocks base method.

func (*MockDataStoreFactory) NewQueue added in v1.2.9

NewQueue mocks base method.

func (*MockDataStoreFactory) NewShardStore added in v1.2.9

func (m *MockDataStoreFactory) NewShardStore() (persistence.ShardStore, error)

NewShardStore mocks base method.

func (*MockDataStoreFactory) NewTaskStore added in v1.2.9

func (m *MockDataStoreFactory) NewTaskStore() (persistence.TaskStore, error)

NewTaskStore mocks base method.

func (*MockDataStoreFactory) NewVisibilityStore added in v1.2.9

func (m *MockDataStoreFactory) NewVisibilityStore(sortByCloseTime bool) (persistence.VisibilityStore, error)

NewVisibilityStore mocks base method.

type MockDataStoreFactoryMockRecorder added in v1.2.9

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

MockDataStoreFactoryMockRecorder is the mock recorder for MockDataStoreFactory.

func (*MockDataStoreFactoryMockRecorder) Close added in v1.2.9

Close indicates an expected call of Close.

func (*MockDataStoreFactoryMockRecorder) NewConfigStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewConfigStore() *gomock.Call

NewConfigStore indicates an expected call of NewConfigStore.

func (*MockDataStoreFactoryMockRecorder) NewDomainStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewDomainStore() *gomock.Call

NewDomainStore indicates an expected call of NewDomainStore.

func (*MockDataStoreFactoryMockRecorder) NewExecutionStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewExecutionStore(shardID interface{}) *gomock.Call

NewExecutionStore indicates an expected call of NewExecutionStore.

func (*MockDataStoreFactoryMockRecorder) NewHistoryStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewHistoryStore() *gomock.Call

NewHistoryStore indicates an expected call of NewHistoryStore.

func (*MockDataStoreFactoryMockRecorder) NewQueue added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewQueue(queueType interface{}) *gomock.Call

NewQueue indicates an expected call of NewQueue.

func (*MockDataStoreFactoryMockRecorder) NewShardStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewShardStore() *gomock.Call

NewShardStore indicates an expected call of NewShardStore.

func (*MockDataStoreFactoryMockRecorder) NewTaskStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewTaskStore() *gomock.Call

NewTaskStore indicates an expected call of NewTaskStore.

func (*MockDataStoreFactoryMockRecorder) NewVisibilityStore added in v1.2.9

func (mr *MockDataStoreFactoryMockRecorder) NewVisibilityStore(sortByCloseTime interface{}) *gomock.Call

NewVisibilityStore indicates an expected call of NewVisibilityStore.

type MockFactory added in v1.2.9

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

MockFactory is a mock of Factory interface.

func NewMockFactory added in v1.2.9

func NewMockFactory(ctrl *gomock.Controller) *MockFactory

NewMockFactory creates a new mock instance.

func (*MockFactory) Close added in v1.2.9

func (m *MockFactory) Close()

Close mocks base method.

func (*MockFactory) EXPECT added in v1.2.9

func (m *MockFactory) EXPECT() *MockFactoryMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockFactory) NewConfigStoreManager added in v1.2.9

func (m *MockFactory) NewConfigStoreManager() (persistence.ConfigStoreManager, error)

NewConfigStoreManager mocks base method.

func (*MockFactory) NewDomainManager added in v1.2.9

func (m *MockFactory) NewDomainManager() (persistence.DomainManager, error)

NewDomainManager mocks base method.

func (*MockFactory) NewDomainReplicationQueueManager added in v1.2.9

func (m *MockFactory) NewDomainReplicationQueueManager() (persistence.QueueManager, error)

NewDomainReplicationQueueManager mocks base method.

func (*MockFactory) NewExecutionManager added in v1.2.9

func (m *MockFactory) NewExecutionManager(shardID int) (persistence.ExecutionManager, error)

NewExecutionManager mocks base method.

func (*MockFactory) NewHistoryManager added in v1.2.9

func (m *MockFactory) NewHistoryManager() (persistence.HistoryManager, error)

NewHistoryManager mocks base method.

func (*MockFactory) NewShardManager added in v1.2.9

func (m *MockFactory) NewShardManager() (persistence.ShardManager, error)

NewShardManager mocks base method.

func (*MockFactory) NewTaskManager added in v1.2.9

func (m *MockFactory) NewTaskManager() (persistence.TaskManager, error)

NewTaskManager mocks base method.

func (*MockFactory) NewVisibilityManager added in v1.2.9

func (m *MockFactory) NewVisibilityManager(params *Params, serviceConfig *service.Config) (persistence.VisibilityManager, error)

NewVisibilityManager mocks base method.

type MockFactoryMockRecorder added in v1.2.9

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

MockFactoryMockRecorder is the mock recorder for MockFactory.

func (*MockFactoryMockRecorder) Close added in v1.2.9

func (mr *MockFactoryMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

func (*MockFactoryMockRecorder) NewConfigStoreManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewConfigStoreManager() *gomock.Call

NewConfigStoreManager indicates an expected call of NewConfigStoreManager.

func (*MockFactoryMockRecorder) NewDomainManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewDomainManager() *gomock.Call

NewDomainManager indicates an expected call of NewDomainManager.

func (*MockFactoryMockRecorder) NewDomainReplicationQueueManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewDomainReplicationQueueManager() *gomock.Call

NewDomainReplicationQueueManager indicates an expected call of NewDomainReplicationQueueManager.

func (*MockFactoryMockRecorder) NewExecutionManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewExecutionManager(shardID interface{}) *gomock.Call

NewExecutionManager indicates an expected call of NewExecutionManager.

func (*MockFactoryMockRecorder) NewHistoryManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewHistoryManager() *gomock.Call

NewHistoryManager indicates an expected call of NewHistoryManager.

func (*MockFactoryMockRecorder) NewShardManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewShardManager() *gomock.Call

NewShardManager indicates an expected call of NewShardManager.

func (*MockFactoryMockRecorder) NewTaskManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewTaskManager() *gomock.Call

NewTaskManager indicates an expected call of NewTaskManager.

func (*MockFactoryMockRecorder) NewVisibilityManager added in v1.2.9

func (mr *MockFactoryMockRecorder) NewVisibilityManager(params, serviceConfig interface{}) *gomock.Call

NewVisibilityManager indicates an expected call of NewVisibilityManager.

type Params added in v0.24.0

type Params struct {
	PersistenceConfig config.Persistence
	MetricsClient     metrics.Client
	MessagingClient   messaging.Client
	ESClient          es.GenericClient
	ESConfig          *config.ElasticSearchConfig
	PinotConfig       *config.PinotVisibilityConfig
	PinotClient       pinot.GenericClient
}

Params contains dependencies for persistence

Jump to

Keyboard shortcuts

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