Actions
Bug #1903
closedWebSocketFace persists after lower-layer disconnect
Start date:
08/22/2014
Due date:
% Done:
100%
Estimated time:
3.00 h
Description
Steps to reproduce:
- On an Android phone, run a ndn-js consumer application in Chrome.
This application shall send one or more Interests, wait until all Interests being satisfied or timed out, and keep the WebSocket connection open.
note: You cannot reproduce this bug if router attempts to send something to the phone after step 3. - Look at router's
nfd-status
output or status webpage, remember FaceId for the WebSocket connection from the phone.
note: The phone's public IP address, combined with a non-busy router, would be helpful to identify the correct face. - Turn off WiFi on the phone.
note: It's important to turn off WiFi before closing webpage. - Close webpage in Chrome.
note: After this step, you may turn on WiFi and continue using the phone. The phone is no longer needed. - Wait 8 hours.
- Look at
nfd-status
output or status webpage.
Expected: the WebSocket face is gone.
Actual: the WebSocket face persists.
Suggested fix:
- WebSocket face should be marked on-demand.
- When underlying TCP connection disconnects due to lack of keep alive, the WebSocket face should be closed.
Updated by Wentao Shang about 10 years ago
- Status changed from New to In Progress
Updated by Junxiao Shi about 10 years ago
Currently this Task is blocked by an inconsistency introduced in #1970: Exclude::wireEncode
throws if Exclude element is empty, but NFD's PIT incorrectly invokes Exclude::wireEncode
for equality comparison.
The needed fix is Iee9a1738881be159b7944ce618869687f61e61b5 and I7b6d80cff6200e2c7d7d8529d2736bc275f1b6e7.
Nothing in NFD can progress until this fix is merged.
Updated by Junxiao Shi about 10 years ago
- Status changed from In Progress to Closed
- % Done changed from 50 to 100
Verified on NDN6.TK
Actions