hyper icon indicating copy to clipboard operation
hyper copied to clipboard

Ping does not work correctly

Open PrimozGodec opened this issue 6 years ago • 3 comments

Issue

Ping function from Hyper does not check the real state of the connection. In my case, I make a connection to the server and then I switch off the internet connection. When I ping after switching off the internet connection ping is still successful. I went through the Hyper implementation and found out that ping function does not check whether the response (pong) comes back from the server. It just sends a request. Am I correct?

An example:

from hyper import HTTP20Connection
conn = HTTP20Connection('api.garaza.io:443',force_proto='h2')
# here I swithc off internet connection
conn.ping(bytes(8))

Am I doing anything wrong? Should I check the response separately?

PrimozGodec avatar May 24 '19 08:05 PrimozGodec

@Lukasa can you give me just a hint on how to correct the issue or how to correctly use the ping function.

PrimozGodec avatar May 27 '19 10:05 PrimozGodec

@njsmith, @sethmlarson, and @tomchristie I would be extremely happy if you give me a hint on how to solve the issue. It is a functionality that needs to work but I do not know how to start solving the issue since I do not understand the library exactly. I would be also happy if someone confirms that it is an issue.

PrimozGodec avatar Aug 01 '19 09:08 PrimozGodec

Sorry, can't help here - I've not dug into it myself. (We likely won't want httpx to send outgoing ping messages, or expose that level of functionality in a public interface.)

lovelydinosaur avatar Aug 01 '19 09:08 lovelydinosaur