Documentation
¶
Overview ¶
Package memory provides reference in-process implementations of every storage.Kind. They are intended for development, testing, and single-process flows where durability is not required.
Every Backend here is registered by the Flow storage extension's Bundle() so a freshly-installed Flow has working storage without any external dependency. Production deployments register additional Backends (Redis, S3, Postgres, ...) via @require.
Memory backends are safe for concurrent use. They do not enforce size bounds; unbounded growth in production will exhaust memory. Use them in production only for short-lived state (request-scoped caches, test fixtures).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FencedLock ¶
type FencedLock struct{}
FencedLock is the in-memory FencedMutex backend. The fence counter is process-local; a real backend (Redis, etcd) must source it from the underlying store's monotonic version.
func NewFencedLock ¶
func NewFencedLock() *FencedLock
func (FencedLock) Kind ¶
func (FencedLock) Kind() storage.Kind
func (FencedLock) Name ¶
func (FencedLock) Name() string
type Idem ¶
type Idem struct{}
Idem is the in-memory IdempotencyStore backend. It also implements action.IdempotencyCoordinator so callers that probe for the coordinator capability get the full state machine.
type Journal ¶
type Journal struct{}
Journal is the in-memory Journal backend. Used by action.Durable for step-level memoization.
func NewJournal ¶
func NewJournal() *Journal
type RateLimit ¶
type RateLimit struct{}
RateLimit is the in-memory RateLimiter backend.
func NewRateLimit ¶
func NewRateLimit() *RateLimit