w3c-libwww-4.1b5 BUG and suggestions

Hi Henrik,

I think there is a small bug in the 4.1b5 version of libwww, which causes empty net
objects to be queued in a host's pipeline if HTTP/1.0 is used. Consequently, the library
might hang if further requests for the same host are issued. The included patch should
fix the problem and produce the desired behaviour.  

I also think that HTTP/1.0 performance is worse now. This is due to the new pipelining
mechanism, which causes all requests for the SAME host to be queued and issued
consecutively. If HTTP/1.0 is used, new requests to the same host should be
issued in parallel as long as free sockeets are available. I will make the necessary
modifications - if you are already working on this, PLEASE LET ME KNOW. 

Finally, there is a last modification of the HTDialog Class, I would like to propose. It
would be great if the mapping of HTTP error codes to English error messages could be
made available to the application as public functions. A patch with the necessary
functions is included as well.

Greetings from Vienna,

-stefan


[spike:nusser src]$ diff -c HTHost.c HTHost.c.orig 
*** HTHost.c    Wed Sep 25 10:41:48 1996
--- HTHost.c.orig       Wed Sep 25 10:41:28 1996
***************
*** 541,552 ****
      HTNet * net = NULL;
      if (host && host->pending && host->pipeline) {
        if ((net = (HTNet *) HTList_removeFirstObject(host->pending)) != NULL)
-         {
            if (PROT_TRACE)
                HTTrace("Host info... Popping %p from pending net queue\n",
                        net);
        HTList_addObject(host->pipeline, net);
-         }
      }
      return net;
  }
--- 541,550 ----

[spike:nusser src]$ diff -c HTDialog.c HTDialog.c.orig 
*** HTDialog.c  Wed Sep 25 10:53:23 1996
--- HTDialog.c.orig     Wed Sep 25 10:53:15 1996
***************
*** 452,472 ****
      }
      return YES;
  }
- 
- PUBLIC char * HTError_message (int index) 
-     {
-     if (index >= 0 && index < HTERR_ELEMENTS)
-       return HTErrors[index].msg;
-     else
-       return "INVALID USAGE";
-     }
- 
- PUBLIC int HTError_code (int index) 
-     {
-     if (index >= 0 && index < HTERR_ELEMENTS)
-       return HTErrors[index].code;
-     else
-       return -1;
-     }
- 
- 
--- 452,454 ----



--
Stefan Nusser                         nusser@wu-wien.ac.at
Vienna University of Economics and Business Administration 
Department of Management Information Systems
Augasse 2-6,  A-1090 Vienna, Austria
Tel: +43 (222) 31 336 x4419                      Fax: x746

Received on Wednesday, 25 September 1996 05:00:58 UTC