diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2011-08-20 17:50:32 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2011-08-20 17:50:32 (GMT) |
commit | 94e6238e67e40ef6af9632134d68fce712cccd56 (patch) | |
tree | 820a98202848a99fb397cb85318ce31bb9b465c6 /Doc | |
parent | 2ec723ad87bfbea23139063ea628388416404602 (diff) | |
parent | 13d2895dbfc92eb1b15a1829a1aac3d9529b328f (diff) | |
download | cpython-94e6238e67e40ef6af9632134d68fce712cccd56.zip cpython-94e6238e67e40ef6af9632134d68fce712cccd56.tar.gz cpython-94e6238e67e40ef6af9632134d68fce712cccd56.tar.bz2 |
Issue #12213: make it clear that BufferedRWPair shouldn't be called with the
same object as reader and writer, and deemphasize it in document order.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/io.rst | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/Doc/library/io.rst b/Doc/library/io.rst index a76b757..76c856e 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -607,25 +607,6 @@ than raw I/O does. if the buffer needs to be written out but the raw stream blocks. -.. class:: BufferedRWPair(reader, writer, buffer_size=DEFAULT_BUFFER_SIZE) - - A buffered I/O object giving a combined, higher-level access to two - sequential :class:`RawIOBase` objects: one readable, the other writeable. - It is useful for pairs of unidirectional communication channels - (pipes, for instance). It inherits :class:`BufferedIOBase`. - - *reader* and *writer* are :class:`RawIOBase` objects that are readable and - writeable respectively. If the *buffer_size* is omitted it defaults to - :data:`DEFAULT_BUFFER_SIZE`. - - A fourth argument, *max_buffer_size*, is supported, but unused and - deprecated. - - :class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\'s methods - except for :meth:`~BufferedIOBase.detach`, which raises - :exc:`UnsupportedOperation`. - - .. class:: BufferedRandom(raw, buffer_size=DEFAULT_BUFFER_SIZE) A buffered interface to random access streams. It inherits @@ -642,6 +623,29 @@ than raw I/O does. :class:`BufferedWriter` can do. +.. class:: BufferedRWPair(reader, writer, buffer_size=DEFAULT_BUFFER_SIZE) + + A buffered I/O object combining two unidirectional :class:`RawIOBase` + objects -- one readable, the other writeable -- into a single bidirectional + endpoint. It inherits :class:`BufferedIOBase`. + + *reader* and *writer* are :class:`RawIOBase` objects that are readable and + writeable respectively. If the *buffer_size* is omitted it defaults to + :data:`DEFAULT_BUFFER_SIZE`. + + A fourth argument, *max_buffer_size*, is supported, but unused and + deprecated. + + :class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\'s methods + except for :meth:`~BufferedIOBase.detach`, which raises + :exc:`UnsupportedOperation`. + + .. warning:: + :class:`BufferedRWPair` does not attempt to synchronize accesses to + its underlying raw streams. You should not pass it the same object + as reader and writer; use :class:`BufferedRandom` instead. + + Text I/O ^^^^^^^^ |