/// <summary> /// Raise <see cref="TransportError"/> event. /// </summary> /// <param name="e">Event information.</param> /// <returns> /// If error may be handled event handler(s) then true, otherwise false. /// </returns> /// <exception cref="ArgumentNullException"> /// <paramref name="e"/> is null. /// </exception> /// <remarks> /// Caller should cause unhandled exception when this method returns false to prevent unexpected behavior of the program. /// </remarks> protected virtual bool OnTransportError( RpcTransportErrorEventArgs e ) { if ( e == null ) { throw new ArgumentNullException( "e" ); } EventHandler<RpcTransportErrorEventArgs> handler = Interlocked.CompareExchange( ref this._transportError, null, null ); if ( handler != null ) { handler( this, e ); return true; } return false; }
public void HandleError( RpcTransportErrorEventArgs e ) { throw new NotImplementedException(); }