Documentation
¶
Overview ¶
Package workers exposes backend interfaces used by worker groups.
Package workers provides common backend interfaces that worker services use to perform their jobs against the storage/map/LRU layers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EvictionBackend ¶
type EvictorWorker ¶
type EvictorWorker interface {
// SampleVictims returns up to SxK candidate keys/ids for eviction
// (already pre-filtered by shard sampling). Implementation must be allocation‑lean.
SampleVictims(S, K int) []uint64
// Remove removes a single key. Must revalidate under shard lock internally.
// Returns freed bytes and whether an item was actually removed.
Remove(key uint64) (freedBytes int64, removed bool)
}
EvictorWorker exposes victim sampling and removal operations.
type LoggerWorker ¶
type LoggerWorker interface {
Metrics() service.Metrics
Logs() <-chan service.ServiceLog
}
type MetricsWorker ¶
MetricsWorker exposes a cheap metrics snapshot API.
type RefreshBackend ¶
type RefresherWorker ¶
type RefresherWorker interface {
// ScanOutdated returns 64 keys that are due for refresh.
ScanOutdated() ([64]*model.Entry, bool)
// Refresh fetches the value for a key and atomically swaps it in.
Refresh(entry *model.Entry) error
}
RefresherWorker exposes scan/refresh operations.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package evictor provides a scalable worker Group implementing service.Service and service.Scalable.
|
Package evictor provides a scalable worker Group implementing service.Service and service.Scalable. |
|
Package logger provides a scalable worker Group implementing service.Service and service.Scalable.
|
Package logger provides a scalable worker Group implementing service.Service and service.Scalable. |
|
Package meter provides a scalable worker Group implementing service.Service and service.Scalable.
|
Package meter provides a scalable worker Group implementing service.Service and service.Scalable. |
|
Package refresher provides a scalable worker Group implementing service.Service and service.Scalable.
|
Package refresher provides a scalable worker Group implementing service.Service and service.Scalable. |
Click to show internal directories.
Click to hide internal directories.