
On Sat, 30 Sep 2006 13:06:03 +0200, Manlio Perillo <manlio_perillo@libero.it> wrote:
[snip]
Here is the main code. I suspect such a thing will never be accepted into Twisted ;-):
[snip]
This looks like it could be an interesting beginning for better terminal support on Windows. It would be better if you included it in unified diff format in the issue tracker, though, along with the unit tests you developed with it. I don't know if anyone out there is interested enough to finish it, but if it correctly provides even a basic level of functionality, it might prove a useful starting place for some other developer. Comprehensive test coverage and developer-oriented documentation improve the chances of someone else picking up where you've left off.
The ConsoleWriter does not need to support asyncronous I/O, so it is a simple wrapper for ConsoleWrite.
Why? Can't writing block? What if you write a huge amount of data? What if the user clicks and holds on the terminal, or selects a menu or resizes the window? Won't those lead to a write blocking for an arbitrary amount of time?
This code still have some problems[1]... For now I have added this to _pollingfile module.
[snip]
[1] How can be tested such a thing?
Presumably by launching a process in a terminal and then communicating with it in order to assert things about its behavior. Jean-Paul