Subject: Default stream priority

From: Martin Thomson <[email-masked]>
Date: Wed, 4 Dec 2013 09:23:37 -0800

Looks like my math was off again...

I got an email this morning pointing out that with the high bit
reserved, a default priority of 2^30 is actually the lowest priority.

Is there any reason that this can't be changed to 2^29?  i.e.,
0x20000000 rather than the current 0x40000000.

---

From: William Chan (陈智昌) <[email-masked]>
Date: Wed, 4 Dec 2013 13:49:00 -0800

What's the goal here? To make the default be low, but not the lowest
priority?

---

From: "Adrien de Croy" <[email-masked]>
Date: Wed, 04 Dec 2013 22:13:54 +0000

seems nuts to me to allow so many priority levels.

Think about how someone will implement this.... probably some sort of 
multiple queue or buckets.  You're not going to make 2 billion buckets.  
Probably 8 different priority levels even would be more than is needed.

------ Original Message ------
From: "William Chan (陈智昌)" <[email-masked]>
To: "Martin Thomson" <[email-masked]>
Cc: "HTTP Working Group" <[email-masked]>
Sent: 5/12/2013 10:49:00 a.m.
Subject: Re: Default stream priority
>On Wed, Dec 4, 2013 at 9:23 AM, Martin Thomson 
><[email-masked]> wrote:

---

From: William Chan (陈智昌) <[email-masked]>
Date: Wed, 4 Dec 2013 14:16:58 -0800

Yes, agreed. If we don't adopt the new prioritization proposal with stream
dependencies, then we probably want to shrink the priority field. You can
consider the current length of the priority field a reflection of the
unclear future of prioritization in HTTP/2.

---

From: Martin Thomson <[email-masked]>
Date: Wed, 4 Dec 2013 15:07:30 -0800

> What's the goal here? To make the default be low, but not the lowest

As was requested, it was to set the priority default in the middle, so
that only exceptional prioritization needs - in both directions -
would require an explicit priority.  It sounds reasonable on face
value at least.

---

From: William Chan (陈智昌) <[email-masked]>
Date: Wed, 4 Dec 2013 23:41:35 -0800

Seems reasonable to me on face value too. I haven't thought too much about
default values since Chromium always specifies a priority with our streams.
I'd be curious what non-browser (I assume all browsers do the same) clients
have to say here. Or servers who want a default in case the client doesn't
specify one.

---

From: Ilari Liusvaara <[email-masked]>
Date: Thu, 5 Dec 2013 09:55:56 +0200

> 0x20000000 rather than the current 0x40000000.

Eeh...

- According to every place I could find in -09, priority is
  31-bit field.
- Bigger numbers are lower priority, so lowest priority is the
  maximum number.
- One can stick 2^31-1 (which is bit above 2,000,000,000) into
  31-bit field. Section 5.3 even says this is the lowest priority.
- 2^30 is bit above 1,000,000,000 (and most definitely under
  2,000,000,000).

-Ilari

---

From: Martin Thomson <[email-masked]>
Date: Thu, 5 Dec 2013 09:32:15 -0800

>   31-bit field. Section 5.3 even says this is the lowest priority.

(facepalm)  I need more sleep.  The current default is fine.

---

From: James Cloos <[email-masked]>
Date: Thu, 05 Dec 2013 16:38:19 -0500

Perhaps the default priority should be 1/2.  Ie, 0x40000000.

With any large space like that, at least some devs will use it sparsely.
Using the midpoint as the default helps to facilitate sparse use w/o
making dense use more difficult.

It also seems reasonable, given that it is a binary field, to use hex
rather than decimal in the spec.

-JimC
--
James Cloos <[email-masked]>         OpenPGP: 1024D/ED7DAEA6

---

From: Martin Thomson <[email-masked]>
Date: Thu, 5 Dec 2013 14:41:32 -0800

> Perhaps the default priority should be 1/2.  Ie, 0x40000000.

That's what it is. :)  I was just embarrassing myself with a public
demonstration of poor math skills.

---

From: James Cloos <[email-masked]>
Date: Thu, 05 Dec 2013 19:59:04 -0500

>>>>> "MT" == Martin Thomson <[email-masked]> writes:

JC>> Perhaps the default priority should be 1/2.  Ie, 0x40000000.

MT> That's what it is. :)  I was just embarrassing myself with a public
MT> demonstration of poor math skills.

Indeed.  I should have re-read the draft. :(

On the hex front, the draft's 2^30 syntax works just as well.

-JimC