This is a tracking issue for the work I've been doing on enum based API.
The goal is to have an easier to use, more decoupled, more typesafe, more extensible and better documented API than is possible in languages with less powerful type-systems. I believe by exploiting Rust's type-system we can create a much nicer API than is possible in C (libfuse) or golang. This means using enums, newtypes, the the typestate pattern, ? based error handling, etc.
TODO
[x] A type per request type #119
[ ] Document every request type #140
[ ] Check each u32/u64 in the API and decide if a newtype would be more appropriate - particularly around flags
This is a tracking issue for the work I've been doing on enum based API.
The goal is to have an easier to use, more decoupled, more typesafe, more extensible and better documented API than is possible in languages with less powerful type-systems. I believe by exploiting Rust's type-system we can create a much nicer API than is possible in C (libfuse) or golang. This means using enums, newtypes, the the typestate pattern,
?
based error handling, etc.TODO
u32
/u64
in the API and decide if a newtype would be more appropriate - particularly around flagsserve_sync()
API #136serve_async()
APIserve_multithreaded()
APIFilesystem
trait API into a module?Init
: https://github.com/cberner/fuser/issues/91#issuecomment-809283993