Generator-Based Applications: Marrow HTTPd Example

Alice Bevan–McGregor <alice-h+KYGxXtFYrqlBn2x/[email protected]>
Newsgroups gmane.comp.python.web
Message-ID <[email protected]>
Howdy!

Here's a rewritten (and incomplete, but GET and HEAD requests work 
fine) marrow.server.http branch [1] that illustrates a simple 
application [2] and protocol implementation [3].  Most notably, examine 
the 'resume' method [4].

The 'basic' example yields a future instance and uses the data as the 
response body.

Note that this particular rewrite is not complete, nor has it been 
profiled and optimized; initial benchmarks (using the 'benchmark' 
example) show a reduction of ~600 RSecs from the 'draft' branch, which 
is substantial, but hasn't been traced to a particular segment of code 
or design decision yet.

The server is now -extremely- easy to read and follow, with all code 
acting in a linear way.  (Application worker threading has been removed 
from this branch as well; the server is once again purely async.)

	- Alice.

[1] https://github.com/pulp/marrow.server.http/tree/generator

[2] https://github.com/pulp/marrow.server.http/blob/generator/examples/basic.py

[3] 
https://github.com/pulp/marrow.server.http/blob/generator/marrow/server/http/protocol.py

[4] 

https://github.com/pulp/marrow.server.http/blob/generator/marrow/server/http/protocol.py#L177-226 



_______________________________________________
Web-SIG mailing list
[email protected]
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: http://mail.python.org/mailman/options/web-sig/gcpw-web-sig%40m.gmane.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.