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