Re: [quicwg/base-drafts] Idle timeout interaction with RTO (#1429)

ianswett <notifications@github.com> Thu, 14 June 2018 14:39 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3E5B13117A for <quic-issues@ietfa.amsl.com>; Thu, 14 Jun 2018 07:39:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.009
X-Spam-Level:
X-Spam-Status: No, score=-8.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rAOtczzWJ6cs for <quic-issues@ietfa.amsl.com>; Thu, 14 Jun 2018 07:39:20 -0700 (PDT)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D5C43130EC6 for <quic-issues@ietf.org>; Thu, 14 Jun 2018 07:39:19 -0700 (PDT)
Date: Thu, 14 Jun 2018 07:39:19 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1528987159; bh=W0ZPWwOWV9cF11mmc+ryYousVCnV1WEqZVhNWyBttn4=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=waH8c6zwb6lxITu+/7d4fcBeilQkWL4l0hQO1OdJuZAeJFWncV52QCveKfBbD+4tS W+lHql5KCZHWRNZJCOLY2AI7nirzxVGmD0NjPDTuFITNt7WfcAWklguBa7XWvKWnIH mM3CklCYbWKL8OMdQwhWTlzUb+HRA7nXXutfvrNs=
From: ianswett <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab9c625706ff10efb8a642f5df5592cc5167b7d23c92cf00000001173a401692a169ce13af8711@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1429/397319588@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1429@github.com>
References: <quicwg/base-drafts/issues/1429@github.com>
Subject: Re: [quicwg/base-drafts] Idle timeout interaction with RTO (#1429)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b227e1732e3_71732aabca512f5c1124d8"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/-hb2wVf2Ichs5AYATpaMHDEPZ1U>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.26
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Jun 2018 14:39:30 -0000

Your last point about asymmetric-ness is important.  The Chromium implementation does something like what you described with asymmetric timeouts.

I would prefer to document a more general approach I briefly mentioned above, where you can't send new data within some time of the idle timeout, but you will continue to process and respond to incoming data until the timeout is hit, or maybe even a bit longer.  I think this works well for non-HTTP applications, whereas picking a shorter timeout on the client side only really works well for client driven apps like HTTP.

A simple approach might be: "New data must be sent with at least one RTO timeout remaining, and data should be received, processed and responded to for at least one RTO timeout after the specified idle timeout expires."?  Receiving and processing a new packet resets the idle timeout, so there's no special case necessary for sending in response to a packet received at the very end of the connection.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1429#issuecomment-397319588