Hi all,

One of the things that I took away from the HTTP workshop was that we
weren't doing as much with h2 priorities as we could.

If the connection window is at capacity, the code does a reasonable job
of allocating any additional capacity to waiting streams based on the h2
priority tree.

However, if the connection window is not at capacity, Tomcat essentially
ignores the priority tree. I'd like to see if I can improve this.

My general thinking is some sort of priority manager where multiple
implementations are available. Something like:
- NO-OP (current behaviour)
- dependencies only (takes account of dependencies for write
  ordering but not weights
- full (takes account of dependencies and weights for write ordering)

I'm not sure the 'full' implementation is viable for a Servlet
container. What is doable for a single thread managing the writes for
multiple static resources gets a lot more complicated when you have one
thread per resource generating those resources dynamically.

I am currently still trying to get my head around various locking /
ordering / synchronization issues and I don't yet have anything that
works. I have stumbled across a couple of places where the code could be
usefully cleaned up. I'll try and extract those into separate commits
and get them applied. Hopefully this week but certainly before I tag.

If I can solve this fairly quickly, my plan is to have the "NO-OP"
implementation as the default for now so there should be no change in
behaviour.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to