Documentation ¶
Index ¶
- Constants
- func NewFetcherProvider(dbManager *tokendb.Manager, notifierManager *tokendb.NotifierManager, ...) *fetcherProvider
- func NewLazyFetcher(tokenDB TokenDB) *lazyFetcher
- func NewManager(fetcher tokenFetcher, locker Locker, precision uint64, backoff time.Duration, ...) *manager
- func NewSelector(logger logging.Logger, tokenDB tokenFetcher, lockDB tokenLocker, ...) *selector
- func NewSherdSelector(txID transaction.ID, fetcher tokenFetcher, lockDB Locker, precision uint64, ...) tokenSelectorUnlocker
- func NewStubbornSelector(logger logging.Logger, tokenDB tokenFetcher, lockDB tokenLocker, ...) *stubbornSelector
- type FetcherProvider
- type FetcherStrategy
- type Iterator
- type Locker
- type Metrics
- type SelectorService
- type TokenDB
Constants ¶
View Source
const ( Lazy = "lazy" Eager = "eager" Mixed = "mixed" Listener = "listener" Cached = "cached" )
View Source
const (
NoBackoff = -1
)
Variables ¶
This section is empty.
Functions ¶
func NewFetcherProvider ¶
func NewFetcherProvider(dbManager *tokendb.Manager, notifierManager *tokendb.NotifierManager, metricsProvider metrics.Provider, strategy FetcherStrategy) *fetcherProvider
func NewLazyFetcher ¶
func NewLazyFetcher(tokenDB TokenDB) *lazyFetcher
func NewManager ¶
func NewSelector ¶
func NewSherdSelector ¶
Types ¶
type FetcherProvider ¶
type FetcherStrategy ¶
type FetcherStrategy string
type Locker ¶
type Locker interface { // Lock locks a specific token for the consumer TX Lock(tokenID *token2.ID, consumerTxID transaction.ID) error // UnlockByTxID unlocks all tokens locked by the consumer TX UnlockByTxID(consumerTxID transaction.ID) error // Cleanup removes the locks such that either: // 1. The transaction that locked that token is valid or invalid; // 2. The lock is too old. Cleanup(leaseExpiry time.Duration) error }
type SelectorService ¶
type SelectorService struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(fetcherProvider FetcherProvider, tokenLockDBManager *tokenlockdb.Manager, c core.ConfigProvider) *SelectorService
func (*SelectorService) SelectorManager ¶
func (s *SelectorService) SelectorManager(tms *token.ManagementService) (token.SelectorManager, error)
Click to show internal directories.
Click to hide internal directories.