Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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)
// NewHistoryV2Store returns a new historyV2 store
NewHistoryV2Store() (p.HistoryV2Store, error)
// NewMetadataStore returns a new metadata store
NewMetadataStore() (p.MetadataStore, error)
// NewMetadataStoreV1 returns a metadata store that can talk v1
NewMetadataStoreV1() (p.MetadataManager, error)
// NewMetadataStoreV2 returns a metadata store that can talk v2
NewMetadataStoreV2() (p.MetadataManager, error)
// NewExecutionStore returns an execution store for given shardID
NewExecutionStore(shardID int) (p.ExecutionStore, error)
// NewVisibilityStore returns a new visibility store
NewVisibilityStore() (p.VisibilityStore, 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)
// NewHistoryManager returns a new historyV2 manager
NewHistoryV2Manager() (p.HistoryV2Manager, error)
// NewMetadataManager returns a new metadata manager that can speak
// the given version or versions
NewMetadataManager(version MetadataVersion) (p.MetadataManager, error)
// NewExecutionManager returns a new execution manager for a given shardID
NewExecutionManager(shardID int) (p.ExecutionManager, error)
// NewVisibilityManager returns a new visibility manager
NewVisibilityManager(enableSampling bool) (p.VisibilityManager, 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 New ¶
func New( cfg *config.Persistence, clusterName string, metricsClient metrics.Client, logger bark.Logger) Factory
New 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 MetadataVersion ¶
type MetadataVersion int
MetadataVersion refers to the metadata schema version
const ( // MetadataV1 refers to metadata schema version 1 MetadataV1 MetadataVersion = iota + 1 // MetadataV2 refers to metadata schema version 2 MetadataV2 // MetadataV1V2 refers to metadata schema versions 1 and 2 MetadataV1V2 )