- From: Marc <barieux@nanocosmos.de>
- Date: Mon, 8 May 2000 12:44:36 +0200
- To: "Www-Lib@W3. Org (E-Mail)" <www-lib@w3.org>
Hello, I am using libwww to send several requests to a host. I'd like all these requests to be completed at the same time, and not one after another. If I understand the trace well, here is how it goes for the moment: the first request opens a new socket, and performs it in a pipe. When the second request comes, it uses the same socket, but doesn't perform it until the first is terminated (pending). As I have 20 requests on the same host, it takes a very long time to perform them all... I read here that pipelining is faster as opening a new socket for each request on a same host. What I don't understand is why doesn't pipelining allow all the requests to be completed at the same time, and how can I achieve that ? Best regards, Marc Barieux Nanocosmos GmbH Here is some part of the trace : ***FIRST REQUEST*** Request..... Created 0x819fe40 HTAccess.... Accessing document http://www.mydomain.com Net Before.. calling 0x805bcd0 (request 0x819fe40, context (nil)) Net Before.. calling 0x805c220 (request 0x819fe40, context (nil)) URL Tree.... did NOT find `w3c-AA' Credentials. verified Net Before.. calling 0x806e8f0 (request 0x819fe40, context (nil)) URL Tree.... did NOT find `w3c-pep' Net Before.. calling 0x805bbd0 (request 0x819fe40, context (nil)) Net Object.. 0x81a0e08 created with hash 0 Net Object.. starting request 0x819fe40 (retry=1) with net object 0x81a0e08 HTTP........ Looking for `http://www.mydomain.com' HTHost parse Looking up `www.mydomain.com' on port 80 Event....... Created event 0x81a1990 with context 0x81a18d0, priority 20, and timeout 20000 Event....... Created event 0x81a19a8 with context 0x81a18d0, priority 20, and timeout 20000 Event....... Created event 0x81a19c0 with context 0x81a18d0, priority 20, and timeout 20000 Host info... added `www.mydomain.com' with host 0x81a18d0 to list 0x81a0c50 Host connect Grabbing lock on Host 0x81a18d0 with 0x81a0e08 Host info... Added Net 0x81a0e08 (request 0x819fe40) to pipe on Host 0x81a18d0, 1 requests made, 1 requests in pipe, 0 pending HTHost...... No ActivateRequest callback handler registered HTHost 0x81a18d0 going to state TCP_CHANNEL. HTHost 0x81a18d0 going to state TCP_DNS. DNS Add..... `www.mydomain.com' with 1 home(s) to 0x81a1af8 ParseInet... as port 80 on XXX.XXX.XXX.XXX with 1 homes HTHost 0x81a18d0 going to state TCP_NEED_SOCKET. Socket...... Created 5 Net Manager. Increasing active sockets to 1, 0 persistent sockets Socket...... Turned off Nagle's algorithm Socket...... Non-blocking socket Channel..... Hash value is 5 Channel..... Added 0x81a2f08 to list 0x81a2ef8 HTHost 0x81a18d0 going to state TCP_NEED_CONNECT. HTDoConnect. WOULD BLOCK `www.mydomain.com' What does HTDoConnect. WOULD BLOCK `www.mydomain.com' exactly mean ??? ***SECOND REQUEST*** Request..... Created 0x81d4068 HTAccess.... Accessing document http://www.mydomain.com Net Before.. calling 0x805bcd0 (request 0x81d4068, context (nil)) Net Before.. calling 0x805c220 (request 0x81d4068, context (nil)) URL Tree.... did NOT find `w3c-AA' Credentials. verified Net Before.. calling 0x806e8f0 (request 0x81d4068, context (nil)) URL Tree.... did NOT find `w3c-pep' Net Before.. calling 0x805bbd0 (request 0x81d4068, context (nil)) Net Object.. 0x81d4378 created with hash 2 Net Object.. starting request 0x81d4068 (retry=1) with net object 0x81d4378 HTTP........ Looking for `http://www.mydomain.com' HTHost parse Looking up `www.mydomain.com' on port 80 Host connect Host 0x81a18d0 already locked with 0x81a0e08 Host info... Added Net 0x81d4378 (request 0x81d4068) as pending on Host 0x81a18d0, 1 requests made, 1 requests in pipe, 1 pending
Received on Monday, 8 May 2000 06:38:55 UTC