Open lostmsu opened 8 months ago
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.
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.
@LTRData I totally approve what you said https://github.com/dokan-dev/dokan-dotnet/issues/354#issuecomment-2027829167 Feel free to make the change when you feel comfortable. I agree that keeping the compatibility would be nice.
As in the title - it would be nice to modernize the interface to be asynchronous, and perhaps also switch to
Memory<byte>
orSpan<byte>
for buffers.A few other performance improvements like iterative file search as mentioned by @LTRData would be welcome too.