-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The second TCP connection will be directly dropped by ipstack
on the Windows platform
#27
Comments
The interpretation of this issue is, that when I think when an instance of |
Thank you for the report. I was able to reproduce the timeout issue on shutdown. Let me investigate the Windows issue to make the best decision on how to fix these issues. |
Both issues has the same root cause. |
Currently, you need to shut down the stream manually due to the lack of async drop |
The minimum reproductive example is https://github.com/xmh0511/ipstack-issue.
This issue can only be reproduced on the Windows platform(I tested it on Windows 10).see #27 (comment)1. Directly drop connection in the next time when using user side timeout
The key point to reproduce the issue is adding the user timeout for the connection
The default timeout of
IpstackTcpStream
is60s
while the setting timeout at the user side is3s
. In PowerShell, then running the commandcurl http://10.0.0.6:6
, the first time connection can be sent toIpStackStream::Tcp(tcp)
, however, the second timeIpStackStream::Tcp(tcp)
received nothing, that is,tcpstream
does not deliver to the user side. I debugipstack
and find thatipstack
directly drops the new connection.2. IpStackStream::shutdown().await always be pending
The second issue is that when the user side timeout, invoking
IpStackStream::shutdown().await
will always be pending. The complete reproduced video can be seen complete video linksnippet
2024-03-27.13.43.06-1.mov
The text was updated successfully, but these errors were encountered: