Hi

On 8/9/07, Eduardo Schettino <schettino72@gmail.com> wrote:

Is there an asynchronous wrapper for local file system operation
(i.e. write a file to disk)?

I don't think there is anything that works out of the box. I think there is a python wrapper for posix aio somewhere, but AFAIK it is not integrated into twisted in any way.  

And I guess using deferToThread is not the right approach for I/O operations.

Usually writes take _very_ little time. The data is only copied to kernel space and control is returned. The data is then written to disk later. Reading will probably be a bit more problematic, but it will still take little time compared to (common) network IO.

I suggest starting with just doing writes and reads directly and if it becomes a problem, then start to solve it. You can create a small file wrapper which returns a defer (just use return defer.succeed() and then change the implementation if it becomes necessary.

--
   - Henrik