durusmail: quixote-users: Pipelining the async HTTP server
async HTTP server included?
2004-01-06
2004-01-06
Re: async HTTP server included?
2004-01-06
2004-01-06
async HTTP server included?
2004-01-06
Re: async HTTP server included?
2004-01-06
async HTTP server included?
2004-01-07
Re: async HTTP server included?
2004-01-07
2004-01-07
2004-01-07
2004-01-07
Re: Licensing
2004-01-07
2004-01-07
2004-01-07
Pipelining the async HTTP server
2004-01-07
Re: Pipelining the async HTTP server
2004-01-07
2004-01-07
2004-01-08
Re: Pipelining the async HTTP server
2004-01-08
2004-01-08
2004-01-08
2004-01-08
quixote.server.medusa (Re: Pipelining the async HTTP server)
2004-01-08
quixote.server.medusa
2004-01-08
2004-01-12
Re: quixote.server.medusa (Re: Pipelining the async HTTP server)
2004-01-13
Problem with using quixote.server.medusa vs. standalone medusa
2004-01-14
Re: Problem with using quixote.server.medusa vs. standalone medusa
2004-01-14
Resolved! Was Re: [Quixote-users] Re: Problem with using quixote.server.medusa vs. standalone medusa
2004-01-14
Re: Resolved! Was Re: Re: Problem with using quixote.server.medusa vs. standalone medusa
2004-01-14
Pipelining the async HTTP server
2004-01-08
2004-01-08
Re: Pipelining the async HTTP server
2004-01-08
2004-01-08
2004-01-06
Re: async HTTP server included?
2004-01-06
Pipelining the async HTTP server
Graham Fawcett
2004-01-07
Just a quick update on the async HTTP server.

Licensing: still haven't heard back from Pierre re: his consent to
incorporate his code under non-GPL terms.

It turns out that his code is HTTP/1.0 only (should have realized that,
since he based it on BaseHTTPRequestHandler which is explicitly
HTTP/1.0). This is unfortunate for a number of reasons, but the largest
that comes to mind is the lack of pipelining (Keep-Alive). Pipelining
is critical, IMO -- not for a one-seat demo server, of course; but for
any real use, the lack of pipelining is going to be a performance hit.

I tried to fix the pipelining problem last night, and failed. Gotta wrap
my head around asyncore again... I'll re-read Sam Rushing's notes on
Medusa/asyncore, and figure out how to get it working. I think it's a
matter of adjusting the 'terminator' event handling, but I haven't
really studied it yet.

But even if I do this, it's still technically an HTTP/1.0 server; at the
very least we'll need to include a subclass of BaseHTTPServer that sends
the right protocol version in the first line of the response.

It may turn out that a better way to get ourselves an async HTTP server
is to strip down the Medusa package to a bare-bones dispatacher/HTTP 1.1
request handler combo. I'm a little hesitant about this, though, having
never really grasped all the intricacies of Medusa's design. However, if
we can do it and stay small (1-2 source files), then Bob's your uncle.

Hopefully my asyncore reading will bear fruit; or perhaps we have a
resident asyncore expert who can come to my aid!

-- Graham



reply