Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Async #354

Open
lostmsu opened this issue Mar 29, 2024 · 3 comments
Open

Feature: Async #354

lostmsu opened this issue Mar 29, 2024 · 3 comments

Comments

@lostmsu
Copy link
Contributor

lostmsu commented Mar 29, 2024

As in the title - it would be nice to modernize the interface to be asynchronous, and perhaps also switch to Memory<byte> or Span<byte> for buffers.

A few other performance improvements like iterative file search as mentioned by @LTRData would be welcome too.

@LTRData
Copy link
Contributor

LTRData commented Mar 29, 2024

I am working on that in a fork here:
https://github.com/LTRData/dokan-dotnet/

The goal is to eventually merge it here as a pull request/branch in one way or another too. But there are lots of breaking changes and changes to implementation interfaces, so it requires some work to migrate existing implementations to it. The performance improvements are so big, I really think it is worth the breaking changes though. We could probably provide some kind of compatibility layer to make migration easier too.

@LTRData
Copy link
Contributor

LTRData commented Mar 29, 2024

But there is really not anything that needs to be changed to support async as I see it. There should be no issues with calling async code from file system implementation routines. I have done that in lots of implementations without any issues.

@Liryna
Copy link
Member

Liryna commented Mar 30, 2024

@LTRData I totally approve what you said #354 (comment) Feel free to make the change when you feel comfortable. I agree that keeping the compatibility would be nice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants