aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/httpsys.h
Commit message (Collapse)AuthorAgeFilesLines
* restructured zenhttp (#472)Stefan Boberg2023-10-131-28/+0
| | | separating the http server implementations into a directory and moved diagsvcs into zenserver since it's somewhat hard-coded for it
* adjust resource usage for dedicated servers (#466)Stefan Boberg2023-10-121-0/+1
| | | | | | | | | when dedicated mode is enabled via `--dedicated` or `server.dedicated` then we tune http.sys server settings to be more suitable for a shared server initially we tune two things * the thread pool used to service I/O requests allows a larger number of threads to be created when needed. The minimum thread count is unchanged but in dedicated server mode we double the maximum number of threads allowed * the http.sys request queue length (`HttpServerQueueLengthProperty`) is increased to 50,000 in dedicated mode. The regular default is 1,000
* pluggable asio transport (#460)Stefan Boberg2023-10-111-80/+7
| | | | | | | | | added pluggable transport based on asio. This is in an experimental state and is not yet a replacement for httpasio even though that is the ultimate goal also moved plugin API header into dedicated part of the tree to clarify that it is meant to be usable in isolation, without any dependency on zencore et al moved transport implementations into dedicated source directory in zenhttp note that this adds code to the build but nothing should change at runtime since the instantiation of the new code is conditional and is inactive by default
* reduce time spent holding http.sys transaction lock (#437)Stefan Boberg2023-10-021-1/+1
| | | | | * changed where calls to IssueNewRequestMaybe are made to reduce per-transaction lock contention * minor: reduce stack frame for HttpSysTransaction::IoCompletionCallback
* prefer to handle cache RPC requests synchronously (#428)Stefan Boberg2023-09-271-3/+5
| | | | | * only handle RPC requests in a worker thread if we have an upstream. we may as well handle the request inline on the http_io thread if we're only dealing with local data since the response times should be pretty consistent in that case * http.sys: don't create async worker thread pool until it's needed (typically only if we have an upstream)
* http and httpsys config options (#401)Dan Engelbrecht2023-09-141-1/+8
| | | | * Added `--http-threads`, `--httpsys-async-work-threads`, `--httpsys-enable-request-logging` and `--httpsys-enable-async-response` command line options to zenserver * remove unused CreateHttpSysServer
* Close down http server gracefully when exiting even while requests are still ↵Dan Engelbrecht2023-05-111-0/+1
| | | | | being processed (#290) * Close down http server gracefully when exiting even while requests are still being processed
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-0/+90
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees