about summary refs log tree commit homepage
DateCommit message (Collapse)
2013-10-18yahns 0.0.0 - hopefully fix installation problems v0.0.0
Installing prrerelease versions are strange on RubyGems. Anyways, new project, no risk of breakage, so maybe this works better...
2013-10-18README: fix URL for git repository
Shorter URLs should be easier-to-type, since we already have the project name in the path component of the URL.
2013-10-18tmpio: remove unused discard alias
Follow-up to commit 4b7ffee7c2436b1839146fd124e731a63f20d03e (remove tiny_input)
2013-10-18README: update with mailing list information
Hmm... greylisting is annoying on Rubyforge.
2013-10-18gemspec: fix authors
Apparently "#{name}" does not expand properly in gemspecs :x
2013-10-18yahns 0.0.0TP1
It runs, maybe!
2013-10-18disable persistent connections on SIGQUIT
We want to shutdown gracefully, but still relatively quickly (to make way for the new one). So we must disable persistent connections to prevent clients from keeping to-be-dead server alive indefinitely.
2013-10-18http_response: respect setups with non-persistent connections
Some users may wish to disable persistent connections for testing or whatever reason, let them. We'll also be using this feature to force SIGQUIT to expire clients.
2013-10-18remove unused unicorn constants to hopefully trim memory
We'll probably drop the unicorn dependency in the future and use kcar once it gains the ability to parse server requests (and not just responses). kcar is descended from the unicorn parser anyways and supports the same enhancements (chunked encoding/trailers).
2013-10-18remove tiny_input
Since we are smarter about closing @input, we can just call .close on it as closing inputs is forbidden in Rack apps, anyways. This reduces our class count and should make things easier to follow.
2013-10-18http_client: do not set @input if it is NULL_IO
That is the common case, so we should not be calling the discard method on NULL_IO. This makes NULL_IO a StringIO, again.
2013-10-18test: cleanup socket usage and lifetimes
This should help prevent us from running out of FDs prematurely as our test suite becomes more multi-threaded. We can also use plain TCPSocket in tests where we inherit the file descriptor from the parent (w/o accept).
2013-10-18test_client_expire: WIP test for EMFILE expiry
Unfortunately, this will need further work because tests are MT and FD counts vary, so reproducing reliable FD counts will need to rely on exec + FD_CLOEXEC.
2013-10-18test and fix client expiry
This is rarely-called code, but we need to be sure we can expire clients correctly when thresholds are reached. We also correctly handle negative values of the client_expire_threshold directive.
2013-10-18http_client: bump up keepalive_requests
Rainbows!/unicorn (and nginx) were designed when migrating clients between threads/processes was not feasible. yahns expires based on FD pressure, so it should not need an arbitrary limit (but the Rack app may specify "Connection: close" to kill a connection.
2013-10-18initial commit