dokan-dev / dokany

User mode file system library for windows with FUSE Wrapper
http://dokan-dev.github.io
5.2k stars 661 forks source link

[Request] callback-based API #1097

Closed Absolucy closed 2 years ago

Absolucy commented 2 years ago

Hi, I've been making a userspace filesystem library for Rust (planning to wrap both FUSE and Dokany - with the FUSE half pretty much done already), and I noticed one problem that's stopping me from doing the dokany side - lack of async support. I'm using the low-level FUSE functions which have a "reply" callback, rather than synchronously using the return value from the function.

Is anything liked this planned or in the works for Dokany?

Liryna commented 2 years ago

Hi @Absolucy ,

There is a pull request opened just for that actually https://github.com/dokan-dev/dokany/pull/307 A large part of this pull request was merged. I am not planning to merge the remaining part (see my comment here) but I am open to pull request!

Absolucy commented 2 years ago

I wish I knew enough about the Dokan codebase to contribute.

I mean, I guess I could learn and try when I have some free time, but no guarantees.

Out of curiosity, why not merge that part of the PR? The comment doesn't seem to explain the "why".

Liryna commented 2 years ago

The PR is a rewrite of the library with a lot of great ideas (memory pull / threading / ...) which are now merged and took a lot of effort to happen. I did not merge the redesign of the new async API to avoid adding another layer of complexity while knowing there were still pending issues 1 2 and having an async API wasn't requested by the community since.

Since now the v2 library is stable as v1 was, it looks more realistic to have the new async API merged and have the known issues being fixed.

Liryna commented 2 years ago

@Absolucy Let me know if you need more details.