/// <summary> /// Initialize new instance which represents RPC level error. /// </summary> /// <param name="operation">Last operation.</param> /// <param name="messageId">ID of message.</param> /// <param name="rpcError">Error.</param> public RpcTransportErrorEventArgs( RpcTransportOperation operation, int messageId, RpcErrorMessage rpcError ) { this._operation = operation; this._messageId = messageId; this._rpcError = rpcError; }
/// <summary> /// Raise error handler for specified RPC level error. /// </summary> /// <param name="operation">Last operation.</param> /// <param name="messageId">ID of message.</param> /// <param name="rpcError">RPC error.</param> /// <exception cref="RpcException"> /// There are no event handlers registered. /// </exception> protected void HandleError( RpcTransportOperation operation, int messageId, RpcErrorMessage rpcError ) { if ( rpcError.IsSuccess ) { return; } if ( !this.OnTransportError( new RpcTransportErrorEventArgs( operation, messageId, rpcError ) ) ) { throw rpcError.ToException(); } }
/// <summary> /// Initialize new instance which represents socket level error. /// </summary> /// <param name="operation">Last operation.</param> /// <param name="messageId">ID of message.</param> /// <param name="socketErrorCode">Error code.</param> public RpcTransportErrorEventArgs( SocketAsyncOperation operation, int messageId, SocketError socketErrorCode ) { this._operation = ToRpcTransportOperation( operation ); this._messageId = messageId; this._socketErrorCode = socketErrorCode; }