summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2011-08-20 17:50:32 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2011-08-20 17:50:32 (GMT)
commit94e6238e67e40ef6af9632134d68fce712cccd56 (patch)
tree820a98202848a99fb397cb85318ce31bb9b465c6 /Doc
parent2ec723ad87bfbea23139063ea628388416404602 (diff)
parent13d2895dbfc92eb1b15a1829a1aac3d9529b328f (diff)
downloadcpython-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.rst42
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
^^^^^^^^