|
|
|
|
|
by vpanyam
291 days ago
|
|
Yeah having traits for this in the stdlib would be nice. You might find Lunchbox [1] interesting. I needed an async virtual filesystem interface for a project a few years ago (and didn't find an existing library that fit my needs) so I built one: > Lunchbox provides a common interface that can be used to interact with any filesystem (e.g. a local FS, in-memory FS, zip filesystem, etc). This interface closely matches `tokio::fs::` ... It includes a few traits (`ReadableFileSystem`, `WritableFileSystem`) along with an implementation for local filesystems. I also used those traits to build libraries that enable things like read-only filesystems backed by zip files [2] and remote filesystems over a transport (e.g. TCP, UDS, etc) [3]. [1] https://crates.io/crates/lunchbox [2] https://crates.io/crates/zipfs [3] https://github.com/VivekPanyam/carton/tree/main/source/anywh... |
|