View Source ProcessHub.Service.Storage.Entry (ProcessHub v0.6.0)

The stored-entry value object shared by every registry storage backend.

An entry is a {key, value} tuple, or {key, value, expire_ms} when it carries a TTL. These helpers build entries on write and read their value back on read (filtering expired ones), independent of where the entry is persisted (ETS, DETS, a future remote store, ...).

Summary

Functions

Builds the entry for key/value, attaching an ms expiry when opts has an integer :ttl.

Returns whether an entry has passed its TTL expiry.

Returns an entry's stored value, or nil if it has expired.

Functions

@spec build(term(), term(), keyword()) ::
  {term(), term()} | {term(), term(), integer()}

Builds the entry for key/value, attaching an ms expiry when opts has an integer :ttl.

@spec expired?(tuple()) :: boolean()

Returns whether an entry has passed its TTL expiry.

@spec value(tuple()) :: term() | nil

Returns an entry's stored value, or nil if it has expired.