> On Jan 7, 2021, at 3:24 AM, Ian Haywood <i...@haywood.id.au> wrote:
>
> For async file I/O my plan would be to export a new IFilesystem (which is
> closely based on conch.interfaces.ISFTPServer) apps would be have to be
> written to use it, conch could with minimal tweaking, and unsurprisingly the
> SMB server will.
>
> Apps can fallback to thread-based or aio(7) based implementations that
> already exists as PoC:https://github.com/twisted/twisted/pull/1420
> <https://github.com/twisted/twisted/pull/1420>
>
The mess of ctypes stuff 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? It would be very nice for
twisted.web.static.File to be able to use this as well. And it would be much
easier to review in isolation. (And also easier to review as concrete "clear
asynchronous file I/O interface" functionality, rather than tying it to the
term "VFS" which has a fairly checkered past within Twisted :)).
(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.)
-g
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python