Add remote sessions and bounded collection #20

Closed
opened 2026-10-16 10:12:49 +00:00 by mmacia · 0 comments
Owner

Objective

Implement remote sessions and the remote collecting API on top of the local event stream.

Scope

Add FeedReader.stream/2, FeedReader.close/1, and FeedReader.fetch_and_parse/2. Download and checksum before returning a session, parse the owned local source once, expose fetch metadata, and reuse the bounded collector for remote results.

Acceptance Criteria

  • stream/2 returns a session with remote Fetch metadata.
  • close/1 is idempotent and cleans unconsumed owned resources.
  • fetch_and_parse/2 requires finite max_items and returns RemoteResult.
  • Unchanged outcomes expose no events or partial results.
  • Normal completion, explicit close, parser errors, cancellation, and collector limits are tested.
## Objective Implement remote sessions and the remote collecting API on top of the local event stream. ## Scope Add `FeedReader.stream/2`, `FeedReader.close/1`, and `FeedReader.fetch_and_parse/2`. Download and checksum before returning a session, parse the owned local source once, expose fetch metadata, and reuse the bounded collector for remote results. ## Acceptance Criteria - `stream/2` returns a session with remote `Fetch` metadata. - `close/1` is idempotent and cleans unconsumed owned resources. - `fetch_and_parse/2` requires finite `max_items` and returns `RemoteResult`. - Unchanged outcomes expose no events or partial results. - Normal completion, explicit close, parser errors, cancellation, and collector limits are tested.
mmacia self-assigned this 2026-10-16 10:12:49 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mmacia/feed_reader#20