Re: [quicwg/base-drafts] A pacing algorithm (#3630)

Martin Thomson <> Wed, 06 May 2020 23:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9D61D3A0DCD for <>; Wed, 6 May 2020 16:59:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.552
X-Spam-Status: No, score=-1.552 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, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_20=1.546, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 49tls2jVw6oM for <>; Wed, 6 May 2020 16:59:29 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4B85E3A09A2 for <>; Wed, 6 May 2020 16:59:29 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 7FC946A03AE for <>; Wed, 6 May 2020 16:59:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1588809568; bh=7G5OjI4k0N34eROsgTfAtpqJLZQB5/x6EJCmW+sPzMk=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=HoJ+x5HuR+HyleOfyEmWyoHS7aIqwy/myIg1xyXLkncwwln9mOyETHImZCsaAcQfK 5xpKa+EMmoAkySn3aE+HxIRyybtbZvg8LwvZi9r9Zqz7nzJM6da/bIKUCtVoL9IKbg aiw8qsPUpy+ZAKKPboyWAFzPNCV5RSCQNDaRoRvQ=
Date: Wed, 06 May 2020 16:59:28 -0700
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3630/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] A pacing algorithm (#3630)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5eb34f606f18b_7eab3fd7bcacd964110916e"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 06 May 2020 23:59:31 -0000

N exists to deal with the potential for the CWND to increase.  Let's say that you have a CWND of 10 packets and an RTT of 1 second.  If you pace evenly over that period, you will send one packet every 100ms.  If the CWND doubles, you want to send every 50ms instead, but that only starts from the point you apply the increase.  This allows you to send a little faster prior to the increase and not need to wait as long for the increase to take effect.

N also exists because timers are terrible and you don't want to lag, which would force the pacer to be an extra constraint on send rate.

Maybe that's too fancy and it should just be N is a number a little larger than 1.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: