Fast and robust atproto CAR file processing in rust
Rust 100.0%
6 5 1

Clone this repository

https://tangled.org/microcosm.blue/repo-stream
git@tangled.org:microcosm.blue/repo-stream

For self-hosted knots, clone URLs may differ based on your setup.

readme.md

repo-stream#

an AsyncRead for atproto MSTs in CAR files

  • tries to walk and emit the MST while streaming in the CAR
  • drops intermediate mst blocks after reading to reduce total memory
  • user-provided transform function on record blocks from IPLD

future work:

redb has an in-memory backend, so it would be possible to always use it for block caching. user can choose if they want to allow disk or just do memory, and then "spilling" from the cache to disk would be mostly free?