Every backup entry held by this node, as
{ subscriberHash, channelHash, ownerNodeHash }. Used by the failover
tick to scan for offline owners. Mirrors Rust backup_entries_for_tick.
Finds the subscription entry whose rfed.delivery hash matches, if any
(used to resolve an incoming announce to a subscriber).
Exports all subscriptions as serializable records (the subscriber identity
is serialized as its 64-byte public key; the Identity object is rebuilt
on import). Used by the @reticulum/node FS adapter.
Replaces the table with the given records (rebuilt identities from their public keys). Used on load.
Removes backup entries whose lastRefreshed is older than maxAgeSecs.
Primary entries (no owner) are always kept. This is the passive chain
unravel: when an upstream custodian stops re-pushing (owner recovered),
entries expire naturally. Mirrors Rust prune_stale_backups.
pruned count
Registers or refreshes a backup subscription adopted from an owner
node (SPEC §11). Backup entries carry no subscriber identity (the owner
pushed only the hashes); they are served via the deferred queue +
/rfed/pull, never live fanout. If an identical (sub, ch, owner) entry
already exists, its lastRefreshed heartbeat is bumped (chain-of-custody
TTL). Mirrors Rust subscribe_backup.
The owner's rfed.node destination hash.
Distinct channel hashes with at least one subscriber.
All subscription entries for a channel (each carries the subscriber identity + delivery hash needed by fanout).
In-memory subscription table.
On-disk persistence (msgpack
subscriptions.rmp, hashes only) is a@reticulum/nodeconcern; this in-memory form keeps the full identity so fanout works without anIdentity::recallround-trip.