EvictionPolicy class
Policy used by CacheManager.evict and by the background eviction scheduler.
The policy is split into two conceptual phases:
- structural cleanup:
- expired events
- author-deleted events
- superseded replaceable/addressable events
- cap-based cleanup:
- keep at most N visible events for some kinds
Protection applies to cap-based cleanup, not to structural cleanup. This is deliberate: protected metadata or contact list kinds should still have old superseded versions removed.
Constructors
-
EvictionPolicy({bool sweepExpired = true, bool sweepDeleted = true, bool sweepSuperseded = true, bool sweepDeliveredEphemeral = true, bool sweepCompletedDeliveries = true, Duration completedDeliveryRetention = const Duration(hours: 8), bool sweepTerminalFailedDeliveries = false, Duration terminalFailedDeliveryRetention = const Duration(hours: 24), Map<
int, int> kindCaps = const {}, Set<int> protectedKinds = kDefaultProtectedKinds, Set<String> protectedEventIds = const {}, Set<String> protectedPubKeys = const {}, Set<String> protectedCoordinates = const {}}) -
const
- EvictionPolicy.safeSweep()
-
const
Properties
- completedDeliveryRetention → Duration
-
Minimum age (since
completedAt) before a delivered record is swept.final - hashCode → int
-
The hash code for this object.
no setterinherited
-
kindCaps
→ Map<
int, int> -
final
-
protectedCoordinates
→ Set<
String> -
final
-
protectedEventIds
→ Set<
String> -
final
-
protectedKinds
→ Set<
int> -
final
-
protectedPubKeys
→ Set<
String> -
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sweepCompletedDeliveries → bool
-
Remove EventDeliveryRecords (and their RelayDeliveryTargets) that
reached EventDeliveryStatus.delivered longer than
completedDeliveryRetention ago.
final
- sweepDeleted → bool
-
final
- sweepDeliveredEphemeral → bool
-
final
- sweepExpired → bool
-
final
- sweepSuperseded → bool
-
final
- sweepTerminalFailedDeliveries → bool
-
Remove terminally failed EventDeliveryRecords (status
EventDeliveryStatus.failed) older than
terminalFailedDeliveryRetention.
final
- terminalFailedDeliveryRetention → Duration
-
Minimum age (since
updatedAt) before a failed record is swept.final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
-
kDefaultProtectedKinds
→ const Set<
int>