Re: Downloading web pages using threads

hi

libwww says it do pipelining, but how does it accomplish this?

I try to look at the trace from the Example program mget, which uses non-blocking and fire off pipeline requests

but it seems that libwww put all the requests in the pending queue,
while waiting for response
and pop up a request from pending queue to pipe and send to server after receiving request of previous response

i have extracted some part from the trace about socket read write, pls correct me if i interpret the trace incorrectly
*************************************************************
Socket...... Created 5
Net Manager. Increasing active sockets to 1, 0 persistent sockets
Socket...... Turned off Nagle's algorithm
Socket...... Non-blocking socket
Write Socket 180 bytes written to 5
Read Socket. WOULD BLOCK fd 5
.
.
.After receiving the response of first request
Host Event.. READ passed to `http://bansun07.ie.cuhk.edu.hk:8001/http/cityline/ban_cityline.htm'
Read Socket. 9446 bytes read from socket 5
Host........ passing 9446 bytes as consumed to 0x2707f58
Host........ 0 bytes remaining
Read Socket. Target returns 200
Host info... Popping 0x2712a28 from pending net queue on host 0x2707ae0
.
.

Host info... Added Net 0x2712a28 (request 0x27126f0) to pipe on Host 0x2707ae0, 2 requests made, 1 requests in pipe, 52 pending
.
.
Buffer...... Flushing 0x270ff78
Write Socket 188 bytes written to 5

I have been looking through the documentation to trying to find out the mechanism of how pipelining was  done in libwww but without success, can anyone help me out?

Kaming

Received on Wednesday, 5 April 2000 11:41:08 UTC