HTRequest_setCallback (wide)

------- Forwarded Message

Return-Path: smaines@best.com 
Return-Path: <smaines@best.com>
Received: from www10.w3.org by www18.w3.org (5.0/NSCS-1.0S) 
	id AA05518; Tue, 23 Apr 1996 07:05:33 +0500
Received: from dns1.noc.best.net by www10.w3.org (5.0/NSCS-1.0S) 
	id AA03378; Tue, 23 Apr 1996 07:05:31 +0500
Received: from [] (smaines.vip.best.com []) by 
dns1.noc.best.net (8.6.12/8.6.5) with SMTP id EAA08547 for <libwww@w3.org>; 
Tue, 23 Apr 1996 04:05:24 -0700
Message-Id: <v01540b00ada1e9fba3a8@[]>
Mime-Version: 1.0
Date: Tue, 23 Apr 1996 04:05:49 -0700
To: libwww@w3.org
From: smaines@best.com (Scott Maines)
Subject: HTRequest_setCallback (wide)
Content-Type: text/plain; charset="us-ascii"
Content-Length: 2091

>    Putting a request into a Context
>    When multiple requests can be initiated simultaneously it is in
>general not possible
>    to predict the order that the results return to the application. This
>is a function of the
>    size of the individual data objects, net work speed etc. In order to
>keep track of
>    ordering of the requests, for example in the history list, it is
>necessary to put them
>    into some kind of context. The Library provides the hooks for
>maintaining a context
>    together with the Request object by the following methods:
>    typedef int HTRequestCallback (HTRequest * request, void *param);
>    extern void HTRequest_setCallback (HTRequest *request,
>HTRequestCallback *cb);
>    extern HTRequestCallback *HTRequest_callback (HTRequest *request);

- -from WWW/Library/User/Using.html#req

Does this mechanism work?  I have been unable to find where the
HTRequestCallback is ever called, and I am begining to suspect that it is

I want to issue a request asynchronously, and be notified by callback when
it is done. How do I do that, and is it possible to do so without idling?

I am developing on a Macintosh, using PowerPlant. I can create threads, and
control them using callbacks.  It is not at all clear where- in doing, say,
an HTLoadAbsolute- I would expect to be able to suspend a thread, and upon
what callback event I might resume it.

I've been through the HTML documentation provided, and have not found how
precisely the event module ".. is overridden by the application as
described in the 'User's Guide'".  I can see that some functionality akin
to HTEvent_Loop is necessary, but a simple analysis of the code, compiled
on a Macintosh, shows that once HTEvent_stopLoop is called, HTEndLoop can
only be set to zero manually.  This suggests to me that the functionality
is not in fact completely implemented.

I have not as of yet studied the Arena version of the code in light of this
problem. What is the expectation as to the migration of improvements made
there into libwww proper?

Scott Maines

------- End of Forwarded Message

Henrik Frystyk Nielsen, <frystyk@w3.org>
World-Wide Web Consortium, MIT/LCS NE43-356
545 Technology Square, Cambridge MA 02139, USA