Expand description
§A single stateful timeline cursor
SingleTimeline walks one feed (a specific user’s posts, a specific hashtag, the
mentions of a given client, …) backwards through time, yielding pages of posts via
get_more_posts(). It owns:
- a
crate::client::timeline::recursive_bucket_visitor::RecursiveBucketVisitorthat walks the hierarchical bucket ladder for the timeline’s(BucketType, base_id); - a
post_ids_already_seenset that deduplicates across overlapping buckets and across pages (important for Sequel / ReplyToPost timelines where posts can surface from multiple places); - a
crate::client::timeline::recent_posts_pen::RecentPostsPenreference so the user’s own very recent posts appear instantly instead of waiting for the next DHT read.
Timelines never reach an end — the walk just keeps stepping further back in time on demand (a hard-earned invariant: manually triggered “fetch more” must always produce something, even if it has to go a year further back to find it).
Structs§
- Single
Timeline - A cursor that walks one feed backward through time, yielding encoded posts page by page.