internal void TakeOver(RecoveryAwareModel other) { base.TakeOver(other); ActiveDeliveryTagOffset = other.ActiveDeliveryTagOffset + other.MaxSeenDeliveryTag; MaxSeenDeliveryTag = 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 }
public void InheritOffsetFrom(RecoveryAwareModel other) { ActiveDeliveryTagOffset = other.ActiveDeliveryTagOffset + other.MaxSeenDeliveryTag; MaxSeenDeliveryTag = 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; }