summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #364 from Pylons/feature/flush-from-app-threadmasterMichael Merickel2022-01-172-19/+122
|\ | | | | Flush data from the application thread
| * Flush data from the application threadBert JW Regeer2022-01-172-19/+122
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* CHANGES.txt line lengthBert JW Regeer2022-01-171-3/+3
|
* Merge pull request #363 from Pylons/bugfix/wsgi-file-wrapperMichael Merickel2022-01-173-0/+21
|\ | | | | Bugfix: wsgi.file_wrapper should pass-through seek/tell attrs
| * Add CHANGELOG for wsgi.file_wrapper seek/tell attrsBert JW Regeer2022-01-171-0/+7
| |
| * Add support for seekable wsgi.file_wrapperBert JW Regeer2022-01-171-0/+10
| |
| * Add tests to validate wsgi.file_wrapper seek/tell are addedBert JW Regeer2022-01-171-0/+4
|/
* Merge pull request #362 from Pylons/garden/update-supported-python-versionsMichael Merickel2022-01-177-42/+54
|\ | | | | Garden: update supported python versions
| * Join the queue thread after closing it in testsBert JW Regeer2022-01-171-1/+3
| |
| * Disable coverage on pypy3Bert JW Regeer2022-01-171-1/+4
| |
| * Call gc.collect() cause these tests leak file descriptorsBert JW Regeer2022-01-171-0/+9
| |
| * Bind to localhost only during testsBert JW Regeer2022-01-171-0/+1
| |
| * Update supported Python versions for WaitressBert JW Regeer2022-01-176-42/+39
|/
* Merge pull request #361 from Pylons/bugfix/winerror-windowsMichael Merickel2022-01-172-1/+7
|\ | | | | Bugfix on Windows: OSError is not subscriptable
| * Update CHANGELOG for OSError subscriptable bugfix in WindowsBert JW Regeer2022-01-171-0/+6
| |
| * Bugfix on Windows: OSError is not subscriptableBert JW Regeer2022-01-171-1/+1
|/ | | | | | | | | | | When Waitress fails to launch on Windows due to an issue with the trigger socket not being ready for connections, we attempt to loop. In the past this was done by subscripting the OSError and checking to see if it matched errno.WSAEADDRINUSE, this is no longer possible in newer verisons of Python. This is a quick bugfix for a rare case which should no longer happen on Windows.
* Merge pull request #360 from Pylons/cleanup/use-with-statement-makefileMichael Merickel2022-01-171-596/+595
|\ | | | | Cleanup: use with statement for makefile
| * Use with statements for makefilecleanup/use-with-statement-makefileBert JW Regeer2022-01-161-596/+595
| | | | | | | | This way the file descriptor is automatically closed
* | Merge pull request #358 from Pylons/bugfix/close-bufferMichael Merickel2022-01-175-10/+34
|\ \ | |/ | | Close old buffer when overflowing in OverflowableBuffer
| * Update CHANGES.txtbugfix/close-bufferBert JW Regeer2022-01-161-0/+16
| |
| * black: Fix whitespaceBert JW Regeer2022-01-162-2/+0
| |
| * Update test matrix for Python versionsBert JW Regeer2022-01-161-6/+4
| |
| * Close old buffer when overflowing in OverflowableBufferBert JW Regeer2022-01-161-2/+14
|/ | | | | | | When switching from a BytesIO to a file backed buffer, we were not closing the old buffer after we had copied its contents. With this change when we switch from a small buffer to a larger buffer or vice-versa we will now attempt to close the old buffer.
* Merge pull request #352 from franciozzy/runner-fix-helpSteve Piercy2021-09-081-1/+1
|\ | | | | runner: Fix alignment of --url-prefix
| * runner: Fix alignment of --url-prefixFelipe Franciosi2021-09-081-1/+1
|/ | | | | | The help message contained a misaligned option. This fixes it. Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
* Merge pull request #344 from hathawsh/add-remote-uriBert JW Regeer2021-05-156-2/+22
|\ | | | | Add REQUEST_URI
| * blackShane Hathaway2021-05-111-2/+2
| |
| * Correct REQUEST_URI in CHANGES.txtShane Hathaway2021-05-111-2/+2
| |
| * Add REMOTE_URI to the WSGI environ.Shane Hathaway2021-05-115-0/+20
|/ | | | CHANGES.txt entry included.
* Prep 2.0.0v2.0.0Bert JW Regeer2021-03-072-7/+24
|
* Prep 2.0.0b1v2.0.0b1Bert JW Regeer2020-11-292-3/+3
|
* Merge pull request #332 from Pylons/fix-default-loggingBert JW Regeer2020-11-293-2/+19
|\ | | | | fix a crash in the MultiSocketServer startup and re-enable startup messages
| * add changelog for #332Michael Merickel2020-11-291-0/+6
| |
| * fix a crash in the MultiSocketServer startup and re-enable startup messagesMichael Merickel2020-11-292-2/+13
|/
* Prep 2.0.0b0v2.0.0b0Bert JW Regeer2020-11-262-3/+3
|
* Move CHANGES to HISTORYBert JW Regeer2020-11-262-167/+167
|
* Merge pull request #329 from Pylons/cleanup/server-nameBert JW Regeer2020-11-265-83/+41
|\ | | | | Cleanup: Server Name deduction logic
| * Add changelog entry for server_nameBert JW Regeer2020-11-261-3/+12
| |
| * Add documentation for server_nameBert JW Regeer2020-11-261-0/+17
| |
| * Remove attempt to resolve IP address to server_nameBert JW Regeer2020-11-262-80/+6
| | | | | | | | Instead we just rely on the server_name passed in to the adjustment.
| * Add new adjustment named server_nameBert JW Regeer2020-11-261-0/+6
|/
* Missed dropping Py27 in docsBert JW Regeer2020-11-261-2/+2
|
* Merge pull request #328 from Pylons/drop-py35-add-py39Bert JW Regeer2020-11-265-11/+10
|\ | | | | Drop Python 3.5 support from Waitress add Py3.9
| * Drop Python 3.5 support from Waitress add Py3.9Bert JW Regeer2020-11-265-11/+10
|/
* Merge pull request #327 from Pylons/speedup-test-suiteMichael Merickel2020-11-261-1/+7
|\ | | | | If we are not on Windows use fork for multiprocessing
| * If we are not on Windows use fork for multiprocessingspeedup-test-suiteBert JW Regeer2020-11-261-1/+7
|/ | | | | This speeds up the test suite significantly by reducing the overhead of spawning a new process.
* Merge pull request #310 from perfact/notify-client-closeBert JW Regeer2020-10-317-133/+340
|\ | | | | Notify client close
| * Allow tasks to notice if client disconnectedViktor Dick2020-10-257-133/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | This inserts a callable `waitress.client_disconnected` into the environment that allows the task to check if the client disconnected while waiting for the response at strategic points in the execution, allowing to cancel the operation. It requires setting the new adjustment `channel_request_lookahead` to a value larger than 0, which continues to read requests from a channel even if a request is already being processed on that channel, up to the given count, since a client disconnect is detected by reading from a readable socket and receiving an empty result.
* | Merge pull request #322 from Pylons/connection-overflow-warningBert JW Regeer2020-10-303-1/+43
|\ \ | |/ |/| warn when the server stops listening for connections because it's in overflow
| * blackifyconnection-overflow-warningMichael Merickel2020-10-221-4/+4
| |