Inheritance: Model, IFullModel, IRecoverable
        internal void TakeOver(RecoveryAwareModel other)
        {
            base.TakeOver(other);

            ActiveDeliveryTagOffset = other.ActiveDeliveryTagOffset + other.MaxSeenDeliveryTag;
            MaxSeenDeliveryTag      = 0;
        }
Example #2
0
        public void AutomaticallyRecover(AutorecoveringConnection conn, IConnection connDelegate)
        {
            m_connection = conn;
            RecoveryAwareModel defunctModel = m_delegate;

            m_delegate = conn.CreateNonRecoveringModel();
            m_delegate.InheritOffsetFrom(defunctModel);

            RecoverModelShutdownHandlers();
            RecoverState();

            RecoverBasicReturnHandlers();
            RecoverBasicAckHandlers();
            RecoverBasicNackHandlers();
            RecoverCallbackExceptionHandlers();

            RunRecoveryEventHandlers();
        }
        private void Dispose(bool disposing)
        {
            if (disposing)
            {
                // dispose managed resources
                Abort();

                _connection = null;
                _delegate   = null;
                _recordedBasicAckEventHandlers          = null;
                _recordedBasicNackEventHandlers         = null;
                _recordedBasicReturnEventHandlers       = null;
                _recordedCallbackExceptionEventHandlers = null;
                _recordedShutdownEventHandlers          = null;
            }

            // dispose unmanaged resources
        }
Example #4
0
 public void InheritOffsetFrom(RecoveryAwareModel other)
 {
     ActiveDeliveryTagOffset = other.ActiveDeliveryTagOffset + other.MaxSeenDeliveryTag;
     MaxSeenDeliveryTag      = 0;
 }
Example #5
0
 public AutorecoveringModel(AutorecoveringConnection conn, RecoveryAwareModel _delegate)
 {
     m_connection = conn;
     m_delegate   = _delegate;
 }
 public RecoveryAwareModel CreateNonRecoveringModel()
 {
     ISession session = m_delegate.CreateSession();
     var result = new RecoveryAwareModel(session);
     result._Private_ChannelOpen("");
     return result;
 }
 public AutorecoveringModel(AutorecoveringConnection conn, RecoveryAwareModel _delegate)
 {
     m_connection = conn;
     m_delegate = _delegate;
 }
        public void AutomaticallyRecover(AutorecoveringConnection conn, IConnection connDelegate)
        {
            m_connection = conn;
            RecoveryAwareModel defunctModel = m_delegate;

            m_delegate = conn.CreateNonRecoveringModel();
            m_delegate.InheritOffsetFrom(defunctModel);

            RecoverModelShutdownHandlers();
            RecoverState();

            RecoverBasicReturnHandlers();
            RecoverBasicAckHandlers();
            RecoverBasicNackHandlers();
            RecoverCallbackExceptionHandlers();

            RunRecoveryEventHandlers();
        }
 public void InheritOffsetFrom(RecoveryAwareModel other)
 {
     ActiveDeliveryTagOffset = other.ActiveDeliveryTagOffset + other.MaxSeenDeliveryTag;
     MaxSeenDeliveryTag = 0;
 }