<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/waitress.git/tests, branch master</title>
<subtitle>github.com: Pylons/waitress.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/'/>
<entry>
<title>Flush data from the application thread</title>
<updated>2022-01-18T00:53:50+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-18T00:53:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=1bbdf6cd985028db64b0287c4b6748e94e54cc40'/>
<id>1bbdf6cd985028db64b0287c4b6748e94e54cc40</id>
<content type='text'>
To speed up how soon the connected client sees data we now attempt to
flush data from the application thread when we get new data to write to
the socket.

This saves us the need to wake up the main thread, which would then
return from select(), process all sockets, look for the ones that are
writable, and then call select() again. When that select() would return
it would finally start writing data to the remote socket.

There was also no gaurantee that the main thread would get the lock for
the output buffers, and it would not be able to write any data at all
thereby looping on select() until the application thread had written
enough data to the buffers for it to hit the high water mark, or the
response was fully buffered, potentially overflowing from memory buffers
to disk.

If the socket is  not ready for data, due it being non-blocking, we will
not flush any data at all, and will go notify/wake up the main thread to
start sending the data when the socket is ready.

Delivery of first byte from the WSGI application to the remote client is
now faster, and it may alleviate buffer pressure. Especially if the
remote client is connected over localhost, as is the case with a load
balancer in front of waitress.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To speed up how soon the connected client sees data we now attempt to
flush data from the application thread when we get new data to write to
the socket.

This saves us the need to wake up the main thread, which would then
return from select(), process all sockets, look for the ones that are
writable, and then call select() again. When that select() would return
it would finally start writing data to the remote socket.

There was also no gaurantee that the main thread would get the lock for
the output buffers, and it would not be able to write any data at all
thereby looping on select() until the application thread had written
enough data to the buffers for it to hit the high water mark, or the
response was fully buffered, potentially overflowing from memory buffers
to disk.

If the socket is  not ready for data, due it being non-blocking, we will
not flush any data at all, and will go notify/wake up the main thread to
start sending the data when the socket is ready.

Delivery of first byte from the WSGI application to the remote client is
now faster, and it may alleviate buffer pressure. Especially if the
remote client is connected over localhost, as is the case with a load
balancer in front of waitress.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests to validate wsgi.file_wrapper seek/tell are added</title>
<updated>2022-01-17T23:25:24+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-17T23:17:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=d1b23a1900d5ccc2aae56c4bb475f9640cb9a455'/>
<id>d1b23a1900d5ccc2aae56c4bb475f9640cb9a455</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Join the queue thread after closing it in tests</title>
<updated>2022-01-17T22:36:35+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-17T22:15:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=9db35068c1410a2fdce508d84739457c0ca69007'/>
<id>9db35068c1410a2fdce508d84739457c0ca69007</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Call gc.collect() cause these tests leak file descriptors</title>
<updated>2022-01-17T22:36:34+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-17T22:10:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=b502635db39a85248de4501e87a0ce5fb2d473d6'/>
<id>b502635db39a85248de4501e87a0ce5fb2d473d6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bind to localhost only during tests</title>
<updated>2022-01-17T22:09:20+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-17T22:09:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=73a0fbe575f3519acd3eb8d51be6ce9a0dc2551e'/>
<id>73a0fbe575f3519acd3eb8d51be6ce9a0dc2551e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use with statements for makefile</title>
<updated>2022-01-17T06:56:47+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-17T06:56:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=97c45c5d75be5bad669b17b289d4a50c1742aea7'/>
<id>97c45c5d75be5bad669b17b289d4a50c1742aea7</id>
<content type='text'>
This way the file descriptor is automatically closed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way the file descriptor is automatically closed
</pre>
</div>
</content>
</entry>
<entry>
<title>black: Fix whitespace</title>
<updated>2022-01-17T04:59:45+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2022-01-17T04:57:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=b59facd51eef152646ddc3f6a25acea924c14f3c'/>
<id>b59facd51eef152646ddc3f6a25acea924c14f3c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add REMOTE_URI to the WSGI environ.</title>
<updated>2021-05-11T14:42:05+00:00</updated>
<author>
<name>Shane Hathaway</name>
<email>shane@willowrise.com</email>
</author>
<published>2021-05-11T14:42:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=22120803fed3bffc61c85c1b1acef8c2d68e620e'/>
<id>22120803fed3bffc61c85c1b1acef8c2d68e620e</id>
<content type='text'>
CHANGES.txt entry included.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CHANGES.txt entry included.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove attempt to resolve IP address to server_name</title>
<updated>2020-11-27T05:42:44+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2020-11-27T05:42:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=2f2972e8349d19cc36472e54fc9969b431ef1413'/>
<id>2f2972e8349d19cc36472e54fc9969b431ef1413</id>
<content type='text'>
Instead we just rely on the server_name passed in to the adjustment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead we just rely on the server_name passed in to the adjustment.
</pre>
</div>
</content>
</entry>
<entry>
<title>If we are not on Windows use fork for multiprocessing</title>
<updated>2020-11-26T19:30:46+00:00</updated>
<author>
<name>Bert JW Regeer</name>
<email>bertjw@regeer.org</email>
</author>
<published>2020-11-26T19:30:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/waitress.git/commit/?id=ab5bbaea511994a543de84bf4d2197551a45142b'/>
<id>ab5bbaea511994a543de84bf4d2197551a45142b</id>
<content type='text'>
This speeds up the test suite significantly by reducing the overhead of
spawning a new process.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This speeds up the test suite significantly by reducing the overhead of
spawning a new process.
</pre>
</div>
</content>
</entry>
</feed>
