This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients benjamin.peterson, gvanrossum, kawai, pitrou, vstinner
Date 2009-01-19.18:17:58
SpamBayes Score 2.2633744e-06
Marked as misclassified No
Message-id <1232389079.69.0.0309001274653.issue4996@psf.upfronthosting.co.za>
In-reply-to
Content
I don't understand the motivation of having two different methods 
for "raw" streams: read1() and read(). I would prefer to have only a 
method read() (because "read" is the most common name, whereas read1() 
is only used on Python3), but read() will have to follow the read1() 
rule: at most one syscall. If someone requires a read() method with 
the "one syscall" rule, he can use a raw stream. If you don't care, 
use high level classes (TextIOWrapper, BufferedReader, etc.).

_fileio._FileIO.read() and _socket.socket.recv_into() already respect 
the syscall rule.

Since BytesIO and StringIO don't use kernel object, the syscall rule 
is meaningles.

Note: socket.SocketIO() implements RawIOBase but it has no read() nor 
write() methods ;-) That's maybe why IOBase has no read()/write() 
method.
History
Date User Action Args
2009-01-19 18:17:59vstinnersetrecipients: + vstinner, gvanrossum, pitrou, benjamin.peterson, kawai
2009-01-19 18:17:59vstinnersetmessageid: <1232389079.69.0.0309001274653.issue4996@psf.upfronthosting.co.za>
2009-01-19 18:17:58vstinnerlinkissue4996 messages
2009-01-19 18:17:58vstinnercreate