summaryrefslogtreecommitdiff
path: root/examples/box-dynamic
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2012-02-07 21:41:36 +0100
committerAndy Wingo <wingo@pobox.com>2012-03-12 17:12:37 +0100
commitf20ae551a1666e93df694060bce625a48c2c3767 (patch)
treee789d956f0e091ac34d14a3adc8bc4f5e80b9cc6 /examples/box-dynamic
parent31a04ee23982f2834fb19c89b5356bc551108e6d (diff)
downloadguile-f20ae551a1666e93df694060bce625a48c2c3767.tar.gz
http web server: allow concurrent read operations
* module/web/server/http.scm (<http-server>): Add fields for a reader thread-pool, and some async queues that it operates on. Also, a flag, http-threaded?. (http-open): Add #:threaded? and #:read-workers kwargs. Create a thread pool for reading if threads are available. (read-request!): New function, factored out of http-read. (enqueue-read!, http-read): Instead of reading the client directly, enqueue a read. In the case where threads are not available, this will call read-request! directly. read-request! takes care of adding to the handle-queue. The read polling loop will pop items off the handle-queue. (seconds-from-now, async-queue-for-each): New helpers. (http-write): Shut down the queues and threads, hopefully in a nonblocking fashion.
Diffstat (limited to 'examples/box-dynamic')
0 files changed, 0 insertions, 0 deletions