Skip to content

Commit

Permalink
resume polling on transport upgrade failure
Browse files Browse the repository at this point in the history
  • Loading branch information
Leszek Mazur committed Aug 8, 2017
1 parent 366c647 commit be3634c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Src/EngineIoClientDotNet.mono/Client/Socket.cs
Expand Up @@ -836,6 +836,10 @@ void IListener.Call(params object[] args)
{
if (_onTransportOpenListener.Parameters.Failed[0])
{
// reset upgrading flag and resume polling
((Polling)_onTransportOpenListener.Parameters.Socket.Transport).Resume();
_onTransportOpenListener.Parameters.Socket.Upgrading = false;
_onTransportOpenListener.Parameters.Socket.Flush();
return;
}
if (ReadyStateEnum.CLOSED == _onTransportOpenListener.Parameters.Socket.ReadyState ||
Expand Down
6 changes: 6 additions & 0 deletions Src/EngineIoClientDotNet.mono/Client/Transports/Polling.cs
Expand Up @@ -67,6 +67,12 @@ public void Pause(Action onPause)
}
}

public void Resume()
{
if (ReadyState == ReadyStateEnum.PAUSED)
ReadyState = ReadyStateEnum.OPEN;
}

private class PauseEventDrainListener : IListener
{
private int[] total;
Expand Down

0 comments on commit be3634c

Please sign in to comment.