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) // NewHistoryV2Store returns a new historyV2 store NewHistoryV2Store() (p.HistoryStore, error) // NewMetadataStore returns a new metadata store NewMetadataStore() (p.MetadataStore, 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) NewQueue(queueType common.QueueType) (p.Queue, 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) // NewHistoryV2Manager returns a new historyV2 manager NewHistoryV2Manager() (p.HistoryManager, error) // NewMetadataManager returns a new metadata manager NewMetadataManager() (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() (p.VisibilityManager, error) // NewDomainReplicationQueue returns a new queue for domain replication NewDomainReplicationQueue() (p.DomainReplicationQueue, 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 log.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