Class ForwardSlidingWindowEventTracker
java.lang.Object
org.ngengine.nostr4j.event.tracker.ForwardSlidingWindowEventTracker
- All Implemented Interfaces:
EventTracker
Tracks current events in a bounded forward window. Expired events and events
more than 30 seconds in the future are treated as seen without changing the window.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longprotected intprotected final intprotected final LinkedList<SignedNostrEvent.Identifier> protected final longprotected final long -
Constructor Summary
ConstructorsConstructorDescriptionForwardSlidingWindowEventTracker(int maxTrackedEvents, int minTrackedEvents, long trackingWindow, TimeUnit trackingWindowTimeUnit, long trackingWindowMargin, TimeUnit trackingWindowMarginTimeUnit) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanprotected booleanprotected intcount()protected longprotected Collection<SignedNostrEvent.Identifier> getAll()booleanseen(SignedNostrEvent event) voidtuneFor(NostrSubscription sub) protected voidupdate()
-
Field Details
-
seenEvents
-
seenEventIds
-
maxTrackedEvents
protected int maxTrackedEvents -
minTrackedEvents
protected final int minTrackedEvents -
trackingWindowS
protected final long trackingWindowS -
trackingWindowsMarginS
protected final long trackingWindowsMarginS -
cutOffS
protected long cutOffS
-
-
Constructor Details
-
ForwardSlidingWindowEventTracker
public ForwardSlidingWindowEventTracker() -
ForwardSlidingWindowEventTracker
-
-
Method Details
-
seen
- Specified by:
seenin interfaceEventTracker
-
count
protected int count() -
currentTimeSeconds
protected long currentTimeSeconds() -
getAll
-
update
protected void update() -
checkIndex
protected boolean checkIndex() -
checkOrder
protected boolean checkOrder() -
tuneFor
- Specified by:
tuneForin interfaceEventTracker
-