On Jan 10, 2021, at 4:42 PM, Ian Haywood <ian@haywood.id.au> wrote:

On 8/01/2021 7:23 am, Glyph wrote:

The mess of ctypes stuff

unclear what you mean: either the aio implementation or statx.py 

Both, really, but I was mainly talking about statx.py.

seems somewhat irrelevant to the "asynchronous filesystem" part of this PR - do you think you could do a smaller version of this which decouples it from smb and ctypes?
but yes both can be spun out easily, so it's just the interface and a plain portable threads-based implementation. Where in the twisted tree should the interface and implementation go?

I'd say probably twisted.internet?  (This is something that might get modified as folks review & comment)

(It would also be nice to have an interface that acts as an IProducer to integrate more natively with Twisted's support for backpressure rather than only having a custom readChunk method.  I think readChunk is still necessary for completeness since you need to be able to seek and offset, though.)

certainly will look at this. It fits well with FTP's filesystem interaction. 

Thank you so much!