Esempio n. 1
0
        public static bool IsMismatchedQueueArgs(Exception exception)
        {
            var cause = exception;
            ShutdownSignalException sig = null;

            while (cause != null && sig == null)
            {
                if (cause is ShutdownSignalException)
                {
                    sig = (ShutdownSignalException)cause;
                }

                cause = cause.InnerException;
            }

            if (sig == null)
            {
                return(false);
            }
            else
            {
                return(sig.ClassId == Queue_ClassId &&
                       sig.MethodId == Declare_MethodId &&
                       sig.ReplyCode == Precondition_Failed);
            }
        }
Esempio n. 2
0
 public static bool IsNormalShutdown(ShutdownSignalException sig)
 {
     return(sig.ClassId == ConnectionClose_ClassId &&
            sig.MethodId == ConnectionClose_MethodId &&
            sig.ReplyCode == ReplySuccess &&
            sig.ReplyText == "OK");
 }
Esempio n. 3
0
 public static bool IsNormalShutdown(ShutdownSignalException sig)
 {
     return((sig.ClassId == ConnectionClose_ClassId &&
             sig.MethodId == ConnectionClose_MethodId &&
             sig.ReplyCode == ReplySuccess &&
             sig.ReplyText == "OK") ||
            (sig.Initiator == ShutdownInitiator.Application &&
             sig.ClassId == 0 && sig.MethodId == 0 &&
             sig.ReplyText == "Goodbye"));
 }
Esempio n. 4
0
            public override void WhenConnected()
            {
                _shutdownCallback = GetAsyncCallback <ShutdownEventArgs>(args =>
                {
                    var exception = ShutdownSignalException.FromArgs(args);
                    _promise.SetException(exception);
                    FailStage(exception);
                });

                Channel.ModelShutdown += OnChannelShutdown;
            }
Esempio n. 5
0
 public static bool IsPassiveDeclarationChannelClose(ShutdownSignalException cause)
 {
     return((cause.ClassId == Exchange_ClassId || cause.ClassId == Queue_ClassId) &&
            cause.MethodId == Declare_MethodId &&
            cause.ReplyCode == NotFound);
 }