/// <summary> /// Raises a Failure event /// </summary> /// <param name="failureTypes">Type of failure</param> /// <param name="message">Failure message</param> private void FireOnFailureEvent(FailureArgs.FailureTypes failureTypes, string message) { EventHandler <FailureArgs> tempHandler = OnFailure; if (tempHandler != null) { tempHandler.BeginInvoke(this, new FailureArgs(failureTypes, message), null, null); } }
/// <summary> /// Handles failure and disconnects. /// </summary> /// <param name="failureType">Type of the failure.</param> /// <param name="message">The error message.</param> internal void Fail(FailureArgs.FailureTypes failureType, string message) { LogError(message); if (HasFailed) { failureArgs.Message += ". " + message; } else { failureArgs = new FailureArgs(failureType, message); } HasFailed = true; IsDisconnecting = true; Disconnect(); }