//------------------------------------------------------------------------------
//
// 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,
}
}