A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2013-October/129643.html below:

[Python-Dev] Regarding stdlib socket module, _fileobject.flush() method using ._rbufsize instead of ._wbufsize

[Python-Dev] Regarding stdlib socket module, _fileobject.flush() method using ._rbufsize instead of ._wbufsizePeter Portante peter.a.portante at gmail.com
Wed Oct 16 23:01:18 CEST 2013
Hello,

Is there a reason why the stdlib socket module _fileobject.flush() method
is using ._rbufsize instead of ._wbufsize at line 297 (Python 2.7.3), where
it determines the buffer_size value to be used for _sock.sendall()?  Does
anybody know the history behind this?

Based on what I read in the code, there appear to be four code paths
possible setting the _rbufsize and _wbufsize when creating an _fileobject:

1. default, or negative, bufsize argument

    bufsize argument is set to the default_bufsize class attribute
    _rbufsize = bufsize
    _wbufsize = bufsize

2. bufsize = 0

    _rbufsize = 1
    _wbufsize = 0

3. bufsize = 1

    _rbufsize = default_bufsize class attribute
    _wbufsize = 1

4. bufsize > 1

    _rbufsize = _wbufsize = bufsize

With that, write() and writelines() uses _wbufsize, as expected.

Additionally, could flush's buffer_size local variable be determined just
the same using:

    buffer_size = max(self._wbufsize, self.bufsize)

Thanks for considering.

-peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131016/b78882a9/attachment.html>
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4