From d94b9fa9edacd550af6ae12b3be9be213c78bf98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 26 Mar 2025 13:48:47 +0100 Subject: User ping payload is 10000 or above --- src/gun_http2.erl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gun_http2.erl b/src/gun_http2.erl index a1d717e..a10fe44 100644 --- a/src/gun_http2.erl +++ b/src/gun_http2.erl @@ -972,8 +972,11 @@ keepalive(State=#http2_state{socket=Socket, transport=Transport, pings_unack=Pin ping(State=#http2_state{socket=Socket, transport=Transport, user_pings=UserPings}, undefined, ReplyTo, PingRef) -> - %% Use non-zero 64-bit payload for user pings. 0 is reserved for keepalive. - Payload = erlang:unique_integer([monotonic, positive]), + %% User pings use the 64-bit payload for identification. + %% The payload 0 is already used for keepalive, and payloads + %% 1 through 9999 are reserved for future use. Payloads 10000 + %% and above are used by user pings. + Payload = 9999 + erlang:unique_integer([monotonic, positive]), case Transport:send(Socket, cow_http2:ping(Payload)) of ok -> UserPing = #user_ping{ref = PingRef, reply_to = ReplyTo, payload = Payload}, -- cgit v1.2.3