Re: [hybi] List of (mostly) editorial changes for draft-01

John Tamplin <jat@google.com> Thu, 02 September 2010 20:06 UTC

Return-Path: <jat@google.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C6E8B3A6868 for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 13:06:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.633
X-Spam-Level:
X-Spam-Status: No, score=-105.633 tagged_above=-999 required=5 tests=[AWL=0.343, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IACrysRKBinM for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 13:06:09 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 818923A65A5 for <hybi@ietf.org>; Thu, 2 Sep 2010 13:06:08 -0700 (PDT)
Received: from wpaz13.hot.corp.google.com (wpaz13.hot.corp.google.com [172.24.198.77]) by smtp-out.google.com with ESMTP id o82K6bCh000467 for <hybi@ietf.org>; Thu, 2 Sep 2010 13:06:37 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1283457997; bh=GvVsnjwvCRdCbkbMFAvbvm9lylI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=L7K62Cu+rXciuQrj/VH6jA8gz8KznFlX4VZDj9FpKPuT5qqOLhKblre/dIbIwadl0 ONbOZp/81MMVcB+67i+ZQ==
Received: from ywf9 (ywf9.prod.google.com [10.192.6.9]) by wpaz13.hot.corp.google.com with ESMTP id o82K5hBG005117 for <hybi@ietf.org>; Thu, 2 Sep 2010 13:06:36 -0700
Received: by ywf9 with SMTP id 9so420828ywf.7 for <hybi@ietf.org>; Thu, 02 Sep 2010 13:06:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type; bh=FfaBXtnjJnfFwi6ustQth45J06hov9lQln5VHx5b3Bc=; b=gHT2xjDW3RxI1crxR7x5SE63rmjC2G/MA6l5z6QhkLwWiEXocRYHogIHH7pP+6Q5lV HXLb4xVCqlV/SS1w7KEQ==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=cKB+cAGtv9bRKY4NEWTsQgHz3s1iwJXlaSHFfjmMyhnSJqxWpTfiDS8/X0zC7DB1wM tPE1F5vsDAUrUOlAYjsQ==
Received: by 10.150.190.16 with SMTP id n16mr34233ybf.144.1283457993861; Thu, 02 Sep 2010 13:06:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.103.4 with HTTP; Thu, 2 Sep 2010 13:06:07 -0700 (PDT)
In-Reply-To: <1283454039.2285.370.camel@tng>
References: <20100901224502.0519B3A687C@core3.amsl.com> <AANLkTi=u3t6ayoKQSs8oZu=gdaU5k_+UuKjSQfg+3ATb@mail.gmail.com> <1283454039.2285.370.camel@tng>
From: John Tamplin <jat@google.com>
Date: Thu, 02 Sep 2010 16:06:07 -0400
Message-ID: <AANLkTinv_0Dxp8JG7KYtVvKLei5+=XCw1TSZ_RmcPA+U@mail.gmail.com>
To: Patrick McManus <mcmanus@ducksong.com>
Content-Type: multipart/alternative; boundary="000e0cd6b264cf3208048f4c5905"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] List of (mostly) editorial changes for draft-01
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Sep 2010 20:06:10 -0000

Leaving out the suggestions I agree completely with.

On Thu, Sep 2, 2010 at 3:00 PM, Patrick McManus <mcmanus@ducksong.com>wrote:

> Section 4.1 - normative Data Framing Overview
>
>  * strike the sentence "The base framing protocol is deliberately kept
> simple so that simple implementations may ignore advanced features."
> There is no definition of simple implementations, no definition of
> advanced features, and no definition of what ignore might mean in this
> context. What is an implementor to do with it? :)..  I personally don't
> think we need the text at all, but if we want it move it to a
> non-normative section.
>

Maybe there needs to be a separate document with the rationale, or perhaps
they can be kept inline in the draft with the understanding that they will
not be present in the final version, but this and other statements were
intended to make clear the rationale for the choice and to alleviate
concerns held by those wanting a simple protocol and those wanting to make
sure their more complex use cases would be covered.


>  * Change the paragraph that begins "a sender MAY arbitrarily fragment a

single message (which allows generation of dynamic content without
> having to buffer the data in order to count it)." to read more simply "A
> sender MAY create fragments of any size for non control messages." If we
> need to explain why fragments are important, which I don't think we need
> to do, that can live outside of normative section 4.
>

This is another case like above, giving the rationale to head-off
objections.  It can go inline annotated as such, a separate non-normative
section collecting all the rationale bits, or a separate document.


>  * Change the paragraph "A receiver MUST be prepared to accept
> arbitrarily fragmented messages, even if the sender sent the message in
> a single frame." to the more direct "A receiver MUST support receipt of
> fragmented messages.". .. I assume the text about "sender sent .. in
> single frame" is referring to intermediaries, but it can't really happen
> like that - the intermediary is a sender too. To express the concept we
> would have to define something like origin-server/user-agent which are
> subsets of senders.. but I really don't see why this paragraph needs the
> concept at all.
>

As mentioned in an earlier reply on the list, it was to make clear that even
if someone wrote both the receiver and the sender endpoints, the receiver
must support receiving fragments even if the sender didn't send them.  If it
is sufficiently clear that requiring a receiver to support fragmentation
means even if the sending endpoint (as differentiated from an intermediary)
didn't fragment the message, then I am fine with that.


> As drafted a ping and pong are meant to be paired together via their
> content.. but the pong is allowed to truncate the content but isn't
> given any mechanism to indicate that it has done so.. in light of that
> how can the pinger determine if there is a match? If those truncated
> bytes aren't relevant to the match, why did it send them in the first
> place? My answer to that is to disallow truncation but limit the message
> size to the tiny 125 byte frame size. If people want to argue for a
> larger but still reasonable constant I don't have a problem with that.
> Furthermore the draft made responding to the ping optional (SHOULD
> level) which really makes it kind of useless as a keep-alive.. so I
> changed that to MUST respond, but SHOULD do it soonish. (see text).
>

The idea was that we require a minimum size for truncation, which would be
sufficient to include an id and/or timestamp.  I would be fine with your
suggestion as well.


> We've been calling them control frames, not control messages, so I
> assume that means they shouldn't be fragmented and I made that a
> requirement. The alternative is to try and consistently call them
> control messages. Personally, I don't see a reason to let them be
> fragmented into multiple frames.
>

I agree with the general principle of not fragmenting control messages (and
it also solves the problem of interjecting control messages in the middle of
a fragmented message, since you don't have to keep a stack of "open"
messages).  However, I worry if later on we will want to have a control
message that may need to be larger, in which case not being able to fragment
it may cause other problems.


> With that being said - this is the proposed replacement for section 4.4:
>

With the above caveats, I am fine with your replacement text.


> Section 4.7 Extensibility
>
> With respect to section 4 framing there isn't a lot to say about
> extensibility. I replaced the existing section 4.7 text with this:
>

Again, this section was primarily intended to alleviate fears that the base
protocol was not extensible enough to support some of the ideas that have
been discussed.

-- 
John A. Tamplin
Software Engineer (GWT), Google