QUIC pacing using Cronet in iOS

107 views
Skip to first unread message

Han

unread,
Oct 22, 2022, 4:43:56 PM10/22/22
to QUIC Prototype Protocol Discussion group
Hi,

I'm using Cronet in iOS and wanted to rate limit an outgoing HTTP3 POST request (say <=2Mbps). Should I use QUIC pacing to achieve that? What API should I use / look into for QUIC pacing in Cronet? 

Thanks!
Han


Ian Swett

unread,
Oct 23, 2022, 4:31:24 AM10/23/22
to proto...@chromium.org
The QUIC implementation in Cronet will pace by default with all congestion controllers, so you shouldn't have to do anything.

If you find it's not, please let us know.

Ian

--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/proto-quic/5883df3a-8bb7-4bad-98fe-5abf09a0f439n%40chromium.org.

Han

unread,
Oct 23, 2022, 6:49:57 PM10/23/22
to proto...@chromium.org
By default, it seems to me that QUIC in Cronet would use as much
bandwidth as possible in my testing. This is fine in most cases, but
in home Wi-Fi networks it can impact other devices significantly, when
both the client and the server are in the local network. I am not sure
if it's in the scope of pacing, but was wondering if it is possible to
rate limit a stream in QUIC?

Thanks,
Han
> To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/proto-quic/CAKcm_gOvanXpw9Qc_ucvxJhUpeL2nPEHZ5h2bN1EtOiaGprWEw%40mail.gmail.com.

Ian Swett

unread,
Oct 23, 2022, 7:25:27 PM10/23/22
to proto...@chromium.org
Ah, well that's the nature of Cubic congestion control.  Packets may be paced, but Cubic is known to induce bufferbloat and generally saturate the link.

BBR is better in some ways and worse in others, and it's not yet default enabled on clients.  Hopefully soon.

But you can force enable it on your clients if you want.

Ian

Han

unread,
Dec 2, 2022, 2:35:56 PM12/2/22
to QUIC Prototype Protocol Discussion group, ians...@google.com
On Sunday, October 23, 2022 at 4:25:27 PM UTC-7 ians...@google.com wrote:
Ah, well that's the nature of Cubic congestion control.  Packets may be paced, but Cubic is known to induce bufferbloat and generally saturate the link.

BBR is better in some ways and worse in others, and it's not yet default enabled on clients.  Hopefully soon.

But you can force enable it on your clients if you want.

Sorry about following up late. Is this BBR defined in quiche:  quic/core/quic_types.h ? is it "kBBRv2" ?

enum CongestionControlType {
  kCubicBytes,
  kRenoBytes,
  kBBR,
  kPCC,
  kGoogCC,
  kBBRv2,
};

Is there a recommended way to force enable it in Cronet? 

Thanks,
Han
Reply all
Reply to author
Forward
0 new messages