[quicwg/base-drafts] loss detection timer description could be simplified by definining a timer mode (#3151)

Marten Seemann <notifications@github.com> Fri, 25 October 2019 01:14 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 9376C12008D for <quic-issues@ietfa.amsl.com>; Thu, 24 Oct 2019 18:14:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.596
X-Spam-Level:
X-Spam-Status: No, score=-6.596 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-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 4Ujo4aEyWRWA for <quic-issues@ietfa.amsl.com>; Thu, 24 Oct 2019 18:14:05 -0700 (PDT)
Received: from out-23.smtp.github.com (out-23.smtp.github.com [192.30.252.206]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E233120018 for <quic-issues@ietf.org>; Thu, 24 Oct 2019 18:14:05 -0700 (PDT)
Date: Thu, 24 Oct 2019 18:14:04 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1571966044; bh=0prs2pXgnYDguGNUYpXBSec2ARbVP7V5tD+We8oTr2A=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=RGDMTu+Xz5/kynL00stt6HSApqWfU0Jxrz1GTGdcwxVHOTaXJrBE2bucoltLQcBpr rnWVSeW03+Ml/sTOXgZ4owR27l83Yv1K7WE/FMHucyutgWPba0ELPr2WZFyHPNY5F6 grRcX0vf1hOtU6S64W5RSxsTaqmcF8x6NomEcnZc=
From: Marten Seemann <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK6W4MDIHRMQ7LN5TR53X57NZEVBNHHB5CCZQY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3151@github.com>
Subject: [quicwg/base-drafts] loss detection timer description could be simplified by definining a timer mode (#3151)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5db24c5cdd502_8153fbf60acd96054672"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: marten-seemann
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/r3_4t18tPCmmWeEvmn5U_5Zczyk>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 25 Oct 2019 01:14:08 -0000

In `SetLossDetectionTimer` we're setting the loss detection timer in order to:

- trigger an early retransmit (if we received gaps in the acknowledged packets) **or**
- trigger a PTO (if we only have a tail outstanding)

When the timer fires, in `OnLossDetectionTimeout`, we first need to figure out why we set the timer, and trigger an early retransmit or a PTO based on that.

I think the code would be easier if we save a "timer mode" `enum { EARLY_RETRANSMIT, PTO }` in `SetLossDetectionTimer`, and take action based on that mode in `OnLossDetectionTimeout`.

@ianswett, @janaiyengar What do you think?

-- 
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/3151