src/Listener/MessageContext.cs (26 lines of code) (raw):

// ------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation // All rights reserved. // // Licensed under the Apache License, Version 2.0 (the ""License""); you may not use this // file except in compliance with the License. You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, // EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR // CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR // NON-INFRINGEMENT. // // See the Apache Version 2.0 License for specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------------------ namespace Amqp.Listener { using Amqp.Framing; /// <summary> /// Provides the context to a message processor to process the received message. /// </summary> public class MessageContext : Context { internal MessageContext(ListenerLink link, Message message) : base(link, message) { this.DeliveryState = message.Delivery.State; } /// <summary> /// Gets the delivery state associated with the message. /// </summary> public DeliveryState DeliveryState { get; private set; } /// <summary> /// Accepts the message. /// </summary> public void Complete() { this.Dispose(Context.Accepted); } /// <summary> /// Rejects the message. /// </summary> /// <param name="error"></param> public void Complete(Error error) { this.Dispose(new Rejected() { Error = error }); } } }