> [EMAIL PROTECTED] 12/10/02 03:36PM
>So, my proposal would be

Could we split this function:

>  sendScreen(uri, data);

into sendPage:

> - sends the screen containing a form that will trigger a POST action that will go 
>back here

and getReply:

> - blocks the execution of the flow until a request with the matching continuation ID 
>comes back
> - returns with the cocoon.* objects filled with the latest client data

and keep this function as is:

>  sendPage(uri, data);
>    - sends a page (no further rountripping is expected from that page so no state is 
>transparently preserved)

Maybe that is what you are saying here:

>I have an alternative proposal, even if this requires more changes to the system:
>Instead of "sendScreen", why don't we do:
>  var objectModel = getClientInput(uri,data);
>then
>  sendPage(uri);
>
>getClientInput will *implicitly* have a blocking semantics. I know this 
>explicitly outlines the third step, but IMO this solves one cognitive 
>problem that I had when Ovidiu first described the flow: how I get the 
>client data back from sendPage()?
>
>Having the data *explicitly* returned from the method invocation is, 
>IMO, a *GREAT* help.
>
>What do you think?

I like it if you are suggesting the following semantics:
  sendForm -- send a page that expects a reply, but do not block for the reply
  getReply -- block for the reply to the previous sendForm
  sendPage -- send a page that does not expect a reply
This allows the continuations to be managed properly even though sending the
form and getting the reply are split into two functions.

Then we could do this:
  Send a form
  Do time consuming work that *does not* need the reply data
  Block for the reply
  Do the remaining work that *does* need the reply data
  Send the next form

Tim

> [EMAIL PROTECTED] 12/10/02 03:36PM
...
>>Christopher Oliver wrote:
...
>> 2) Explicitly identify the input page, such as
>> 
>>    sendForm(uri, bizData); // block waiting for user input; 
>> cocoon.request contains the submitted request after this returns
>> 
>> and
>> 
>>    sendPage(uri, bizData); // send a page that won't return here; 
>> cocoon.request is invalid after this returns
>
>Ohhhh, nice!!!
>
>What I like about this is that semantics are abstract enough to mean 
>anything, but they don't confuse people!



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to