//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ using Experimental.System.Messaging.Interop; using System; namespace Experimental.System.Messaging { /// /// /// /// Specifies what kind of acknowledgment to get after sending a message. /// /// [Flags] public enum AcknowledgeTypes { /// /// /// /// Use this value to request a positive acknowledgment when the message /// reaches the queue. /// /// PositiveArrival = NativeMethods.ACKNOWLEDGE_POSITIVE_ARRIVAL, /// /// /// /// Use this value to request a positive acknowledgment when the message /// is successfully retrieved from the queue. /// /// PositiveReceive = NativeMethods.ACKNOWLEDGE_POSITIVE_RECEIVE, /// /// /// /// Use this value to request a negative acknowledgment when the message fails /// to be retrieved from the queue. /// /// NegativeReceive = NativeMethods.ACKNOWLEDGE_NEGATIVE_RECEIVE, /// /// /// /// Use this value to request no acknowledgment messages (positive or negative) to be posted. /// /// None = NativeMethods.ACKNOWLEDGE_NONE, /// /// /// /// Use this value to request a negative acknowledgment when the message cannot /// reach the queue. This can happen when the time-to-reach-queue /// timer expires, or a message cannot be authenticated. /// /// NotAcknowledgeReachQueue = NativeMethods.ACKNOWLEDGE_NEGATIVE_ARRIVAL, /// /// /// /// Use this value to request a negative acknowledgment when an error occurs and /// the message cannot be retrieved from the queue before its /// time-to-be-received timer expires. /// /// NotAcknowledgeReceive = NegativeReceive | NativeMethods.ACKNOWLEDGE_NEGATIVE_ARRIVAL, /// /// /// /// Use this value /// to request full acknowledgment (positive or negative) depending /// on whether or not the message reaches the queue. /// This can happen when the time-to-reach-queue timer expires, /// or a message cannot be authenticated. /// /// FullReachQueue = NotAcknowledgeReachQueue | PositiveArrival, /// /// /// /// Use this value to request full acknowledgment (positive or negative) depending /// on whether or not the message is retrieved from the queue /// before its time-to-be-received timer expires. /// /// FullReceive = NotAcknowledgeReceive | PositiveReceive, } }