[WS] Fix peer stuck in CLOSING state
This was due by the buffer being cleared on close (including in closing state) preventing further reads. This commit changes the close logic to only clear the buffer when the peer connection has been fully closed (acknowledged by the other end, or closed due to a "broken" connection).
This commit is contained in:
@ -860,10 +860,12 @@ void WSLPeer::close(int p_code, String p_reason) {
|
||||
}
|
||||
}
|
||||
|
||||
heartbeat_waiting = false;
|
||||
in_buffer.clear();
|
||||
packet_buffer.resize(0);
|
||||
pending_message.clear();
|
||||
if (ready_state == STATE_CLOSED) {
|
||||
heartbeat_waiting = false;
|
||||
in_buffer.clear();
|
||||
packet_buffer.resize(0);
|
||||
pending_message.clear();
|
||||
}
|
||||
}
|
||||
|
||||
IPAddress WSLPeer::get_connected_host() const {
|
||||
|
||||
Reference in New Issue
Block a user