On 14/02/18 15:41, Rémy Maucherat wrote:
> Hi,
> I'm using h2test on and off to see what's going on. It helps me find a
> significant issue sometimes (like this one r1823670).

I've been using h2spec which also found a number of issues. Generally,
test suites are very helpful.

> Now, it almost looks ok, with a few oddities left:
> - The ping flag may be inverted (ack is supposed to be 0, not 1, from what
> I read in the spec). Did I miss something ?

The relevant text appears to be in 6.7. My reading of that (before I
look at the code) is that if an endpoint receives a PING frame without
an ACK, it must echo it back with an ACK. If and endpoint receives a
PING frame with an ACK it does nothing.

Checking the code now...

For receiving pings[1], the behaviour looks to be correct. If ACK is
set, the roound-trip time is updated. If ACK is not set, a PING frame is
sent back and the payload is echoed.

For sending new pings, the ACK[2] is not sent and we use the payload to
hold the sequence (it makes determining the round-trip time easier).

There are also a handful of test cases for PING frames that check
various aspects of this.

Everything looks to be correct as far as I can tell. Can you elaborate
on where you think the problem is?

> - The ping opaque data seems (to me) to be processed and sent back
> properly, but for some reason the client sees it corrupted. Odd.

Very odd. Can you do this over h2c and get a wireshark trace?




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

Reply via email to