Hans,

Thanks for pointing that out!  First, I assumed they were exclusive: a
request can have start-updates or stop-updates, but not both. But the draft
does not say that. My implementation does not support both in one request,
but does not return an error if a request does. (My server just ignores the
stop-updates field. My culpa!)

But I just realized there is a use for having both in one request. Suppose a
client wants to stop a previous update-stream, and replace it with a new
stream. Combining both in the same request is more efficient. On the other
hand, is that going to happen often enough to matter?

To complicate things, a request with start-updates, stream-id and
stop-updates is ambiguous. The stop-updates part is clear. The ambiguity is
for the new resources in start-updates. Should the server return updates for
those on the new tcp connection? Or should the server add the start-updates
resources to the *other* stream - - the one with the stream-id?

I see several ways to fix that:

1. Say that start-updates & stop-updates are mutually exclusive. That is, a
request has start-updates, or stop-updates and stream-id, but no other
combination. And say the server must return an error if the client violates
that rule.

2. Allow both in one request. But then we have to decide whether the
start-updates resources are to be added to the existing stream, or to be
returned in a new stream.

3. Define two separate requests: start-new-update-stream and
modify-existing-update-stream. They would have different parameter types,
and hence different accepts media-types. That is unambiguous, and is very
general, and would allow a client to add resources to an existing update
stream. But that approach is more complicated, and I do not know if the
extra complication is worth it.

What do the rest of you think?  My vote is for #1, just to keep it simple.

- Wendy Roome


From:  Hans Seidel <[email protected]>
Date:  Thu, October 1, 2015 at 10:45
To:  "Y. Richard Yang" <[email protected]>, Wendy Roome
<[email protected]>
Cc:  "[email protected]" <[email protected]>
Subject:  Re: [alto] New Incremental Update draft

Wendy, Richard,

great work.

One question that came up while reading:

1. Is it allowed to use "start-updates" and "stop-updates" in one HTTP
request? I found nothing specific that neither supports nor contradicts
that. 
    Intuitively, I would say no, it is not allowed to have both in one
request but I am not entirely convinced.

Hans


_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto

Reply via email to