Permalink
Switch branches/tags
Nothing to show
Commits on Mar 24, 2008
  1. Allow starting the Ebb server on arbitrary FD

    This allows Ebb to attach to any listening file descriptor,
    e.g. a Unix socket or an open socket passed down from any kind
    of supervisor software
    committed Mar 24, 2008
  2. Merge branch 'vanilla'

    committed Mar 24, 2008
  3. Take statements with side effects out of assert() calls

    They would not be ever executed if compiled with -DNDEBUG
    committed Mar 24, 2008
  4. use mkstemp() for tmp filename

    ryah committed Mar 24, 2008
  5. clean up keep-alive stuff

    ebb will keep the connection alive if
    ebb_client_write_header(client, "Connection", "Keep-Alive")
    is executed. This gives control to the Ebb library user to decide when to
    use the feature. ebb.rb was updated to reflect this.
    Ryan Dahl committed Mar 24, 2008
  6. Ebb supports Keep-Alive

    wow! that speeds up things :)
    Ryan Dahl committed Mar 24, 2008
Commits on Mar 23, 2008
Commits on Mar 22, 2008
  1. Add ACCEPT header, slight parser cleanup

    Ryan Dahl committed Mar 22, 2008
  2. Major update to parser.rl

    I'm changing Zed's original design of having a callback for each element in
    the parser. Rather there will be two callbacks for headers: one for unknown
    headers and one for known headers - there is an enum which defines the known
    headers.
    
    The idea here is to easily add preallocated global variables for often seen
    header values in the ruby binding. This has only been done so far with
    Content-Type, but I will add many more soon.
    
    This change simplifies ebb.c greatly.
    Ryan Dahl committed Mar 22, 2008
  3. Remove begin_transmission API

    Instead set client->body_written = TRUE when ebb_client_release is called.
    In side ebb_client_write_body() we will start the write watcher if it is not
    already active and also write \r\n once all the headers are written. This
    seems to clean up a lot of mess and confusion.
    Ryan Dahl committed Mar 22, 2008
Commits on Mar 20, 2008
  1. add fcgi-rack script for benchmarking

    Ryan Dahl committed Mar 20, 2008
Commits on Mar 18, 2008
  1. missing require for test

    Ryan Dahl committed Mar 18, 2008
  2. site update

    Ryan Dahl committed Mar 18, 2008
  3. fixed nasty content-length bug.

    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.
    Ryan Dahl committed Mar 18, 2008
Commits on Mar 17, 2008
  1. error for accept() failure

    Ryan Dahl committed Mar 17, 2008
  2. better rake compile task

    Ryan Dahl committed Mar 17, 2008
  3. Fix up tests and runner

    All ruby tests should pass now.
    Ryan Dahl committed Mar 17, 2008
  4. Clean up ebb_rails and Runner

    Ryan Dahl committed Mar 17, 2008
  5. Allow for threads outside of ebb to run.

    uses rb_thread_select() but this is not the typical case - should still be fast for normal case
    Ryan Dahl committed Mar 17, 2008
  6. None of the Ruby library methods work as they should, so I will try a…

    …nother more hacky technique of attaching an idle watcher.
    Ryan Dahl committed Mar 17, 2008
Commits on Mar 15, 2008
  1. try rb_thread_select() again

    Ryan Dahl committed Mar 15, 2008
  2. undoing even the last commit! it was too slow still!

    Ryan Dahl committed Mar 15, 2008
  3. Back to rb_thread_schedule()

    for some reason lots of speed is lost by waiting in rb_thread_select().
    instead i've added a hack which allows us to go into select() only when
    there are no connections open. Once the server starts processing
    connections, though, it takes control of the operation.
    Ryan Dahl committed Mar 15, 2008
Commits on Mar 14, 2008
  1. Use rb_thread_select instead of rb_thread_schedule

    This cleans up the event loop processing greatly. I use rb_thread_select
    to watch for changes on every file descriptor before calling ev_loop(loop,
    EVLOOP_NONBLOCK); There is a 0.5 second timeout, to return to ruby for
    checking @running and signals.
    
    I still need to run benchmarks on this to make sure that it is still fast
    :)
    Ryan Dahl committed Mar 14, 2008
  2. allocate memory on demand. set ebb_rails to use seq.processing

    the first few requests will be a bit slower, but this will change will make
    ebb only allocate request buffer on demand. (then it keeps them around for
    later use.)
    Ryan Dahl committed Mar 14, 2008
  3. small site update

    Ryan Dahl committed Mar 14, 2008
  4. reduce number of states in state machine

    Ryan Dahl committed Mar 14, 2008
Commits on Mar 13, 2008
  1. small update to python binding

    Ryan Dahl committed Mar 13, 2008
  2. site update

    Ryan Dahl committed Mar 13, 2008
  3. Move version into ebb.h and other misc cleanups

    Ryan Dahl committed Mar 13, 2008
  4. fix multiple cookie error

    thanks Surendra.
    Ryan Dahl committed Mar 13, 2008
Commits on Mar 12, 2008
  1. Clean up benchmark scripts

    Ryan Dahl committed Mar 12, 2008
Commits on Mar 11, 2008
  1. Add rb_thread_schedule() and threaded_processing option

    This change should allow Ebb to work like mongrel with threaded processing or like Thin with sequential processing. There are trade off for each, thus i've made it a command line option '-S'
    
    By default Ebb will use threaded processing because it seems that is working best. But only time will tell if that is the correction thing to do.
    Ryan Dahl committed Mar 11, 2008