protected override void OnConnectionStopped(SourceStreamBase.ConnectionStoppedEvent msg) { switch (msg.StopReason) { case StopReason.UnavailableError: IgnoreNode(msg.Connection.SourceUri); Reconnect(SelectSourceHost()); break; case StopReason.ConnectionError: case StopReason.OffAir: if (msg.Connection.SourceUri==trackerUri) { Stop(msg.StopReason); } else { IgnoreNode(msg.Connection.SourceUri); Reconnect(SelectSourceHost()); } break; case StopReason.UserReconnect: break; case StopReason.UserShutdown: default: Stop(msg.StopReason); break; } }
protected override void OnReconnected(SourceStreamBase.ReconnectEvent msg) { if (this.sourceConnection.SourceUri!=trackerUri) { IgnoreNode(this.sourceConnection.SourceUri); } Reconnect(SelectSourceHost()); }
protected override void OnConnectionStopped(SourceStreamBase.ConnectionStoppedEvent msg) { switch (msg.StopReason) { case StopReason.UserReconnect: break; case StopReason.UserShutdown: Stop(msg.StopReason); break; case StopReason.NoHost: Stop(msg.StopReason); break; default: Reconnect(); break; } }