apparently rails needs "CONTENT_LENGTH" key in the environ instead of "HTTP_CONTENT_LENGTH"? the ragel parser is currently hitting content-length headers twice - this is a know bug and mearly an annoyance. I plan on working more with the parser soon so I'll leave the bug in for the 0.1.0 release.
I will use Rakefile to create the MANIFEST file. For python setup.py sdist A skeleton ebb_python.c file has been added. I removed src/parser.c - sorry if this screws people up. You need Ragel 6 to build parser.rl into parser.c. Otherwise you can always grab the infrequently changing parser.c from the gem or zip releases.
thanks to Pratik Naik for his help.
added a test for the env object. was forced to marshalling though a request to get access to it. isn't there a better way to do this?
You should be able to download this run rake package && sudo gem i pkg/ebb-0.0.1.gem -- --with-ev-dir=/usr/local (or where ever your libev is installed) Also make sure you have glib-config in your path. cd into your rails project and run ebb_rails start
… and the other write function still co-exists but it seems to work.
…lines of code by pushing the socket level interactions into ebb.c. One would think this makes things unwieldy and difficult but on the contrary it makes the whole system much more comprehensible (albeit with some longer functions). Requests are now allocated with the server. The only thing that is being dynamically grown during a request is the GString buffer, but I would like to eliminate that in the future too. On the Ruby side we're creating many Client objects but this could be done away with by an immutable global array with pre-initialized clients. I'm amazed and happy at how the code has shrunk in this commit.
thinking? As in evented Mongrel, we will process clients completely unthreaded.
…is to make zero allocation calls during a request. Ebb is still allocating it's request structures but I will change that too soon. Updated the TODO list. ./ebb_test is broken.
…y yet. Added ebb_client_write to complete the abstraction from TCP.