Skip to content

Commit cc41f84

Browse files
authored
Merge pull request #39 from leszekm1/master
resume polling on transport upgrade failure
2 parents 366c647 + be3634c commit cc41f84

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

Src/EngineIoClientDotNet.mono/Client/Socket.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,6 +836,10 @@ void IListener.Call(params object[] args)
836836
{
837837
if (_onTransportOpenListener.Parameters.Failed[0])
838838
{
839+
// reset upgrading flag and resume polling
840+
((Polling)_onTransportOpenListener.Parameters.Socket.Transport).Resume();
841+
_onTransportOpenListener.Parameters.Socket.Upgrading = false;
842+
_onTransportOpenListener.Parameters.Socket.Flush();
839843
return;
840844
}
841845
if (ReadyStateEnum.CLOSED == _onTransportOpenListener.Parameters.Socket.ReadyState ||

Src/EngineIoClientDotNet.mono/Client/Transports/Polling.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ public void Pause(Action onPause)
6767
}
6868
}
6969

70+
public void Resume()
71+
{
72+
if (ReadyState == ReadyStateEnum.PAUSED)
73+
ReadyState = ReadyStateEnum.OPEN;
74+
}
75+
7076
private class PauseEventDrainListener : IListener
7177
{
7278
private int[] total;

0 commit comments

Comments
 (0)