tomer filiba wrote: > NetworkStreams have a readavail() method, which reads all the available > in-queue data, as well as a may_read and a may_write properties
I'm -1 on having multiple kinds of read methods which are available only on some kinds of streams. The basic interface of a stream should be dirt simple. Given a read-up-to-n-bytes method, it's easy to implement read-exactly-n-bytes on top of it in a completely generic way. So provide it as a function that operates on a stream, or a method inherited from a generic base class. > maybe introduce a new select module that has select-objects, like > the Poll() class, that will default to using select(), but could use > kqueue/epoll when possible? My current opinion on select-like functionality is that you shouldn't need to import a module for it at all. Rather, you should be able to attach a callback directly to a stream. Then there just needs to be a wait_for_something_to_happen() function somewhere (perhaps with a timeout). Underneath, the implementation would use select, poll, or whatever is most fun on the platform concerned. -- Greg _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
