/// <summary> /// Processes a received rejection /// </summary> /// <param name="source">The address of the device that sent the rejection</param> /// <param name="message">The rejection</param> public void ProcessReject(Address source, RejectMessage message) { ClientTransaction tx = null; lock (_lock) { tx = _getClientTransaction(source, message.InvokeId); } if(tx != null) tx.OnReject(message); }
/// <summary> /// Called whenever a reject message is /// received for this transaction /// </summary> /// <param name="message">The reject message</param> public void OnReject(RejectMessage message) { lock(_lock) { if (_state == ClientState.AwaitConfirmation) { _handle.FeedReject((RejectReason)message.RejectReason); _transitionTo(ClientState.Disposed); } } }