diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-19 16:37:28 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-19 16:40:13 +0000 |
| commit | 39242bfec6f6592c478c651f2e89e88e3e66ff2a (patch) | |
| tree | ef358d70e7d33bc9edd086e64d9b4f64ee8bcd3a /docs/reference/git-protocol.md | |
| parent | 1adbd93e5bb8e14403ba64a76d5dc93209227514 (diff) | |
feat(sync): implement pagination for historic_sync REQ+EOSE flow
Add automatic pagination support for non-Negentropy historic sync to handle
large result sets efficiently. When a subscription receives >= 75 events,
the system automatically fetches the next page using the 'until' parameter.
Changes:
- Add PaginationState struct to track event counts and min timestamps
- Add pagination_state HashMap to PendingBatch for per-subscription tracking
- Add PAGINATION_THRESHOLD constant (75 events)
- Pass pending_sync_index to event processor for state updates
- Track events and timestamps as they arrive
- Check threshold on EOSE and launch follow-up subscriptions
- Initialize pagination state when creating historic sync subscriptions
- Update test fixtures in algorithms.rs
The pagination continues recursively until a page returns fewer than 75 events,
ensuring complete historic data retrieval without overwhelming relay limits.
Diffstat (limited to 'docs/reference/git-protocol.md')
0 files changed, 0 insertions, 0 deletions