Commit Graph

6 Commits

Author SHA1 Message Date
Pieter Noordhuis
fce264e385 Test *_done fields being set on request struct 2012-01-10 13:13:48 -08:00
Pieter Noordhuis
125cf58cec Simultaneous writes and reads for requests in the queue
Every request is now kept in a maximum of two queues. When a request is
initially inserted, it is inserted in the `to_write` queue. When at
least one write buffer is extracted from that request, it is *moved* to
the `wait_write` queue. When at least one byte of the request has been
written to the socket, it is *also* placed in the `wait_read` queue.

This means that it is possible for a request to be emitting write
buffers, while simultaneously receiving read callbacks.
2012-01-10 12:01:05 -08:00
Pieter Noordhuis
6138ef4aca Use done ptr to signal done in write_ptr function 2012-01-10 09:54:13 -08:00
Pieter Noordhuis
d0eb3f6511 Request is responsible for parsing its own reply 2012-01-10 09:24:44 -08:00
Pieter Noordhuis
6c990440ee No return value for request queue insert 2012-01-09 16:44:51 -08:00
Pieter Noordhuis
ee99d5a3d1 Request queue
The request queue abstraction intends to provide an interface usable
by asynchronous I/O libraries, without making assumptions about their
interfaces.
2012-01-06 17:29:34 -08:00