Beispiel #1
0
        private RedisManagedServerGroup ExchangeSlavesInternal(RedisManagedServerGroup slaves)
        {
            lock (m_SyncRoot)
            {
                var oldGroup = Interlocked.Exchange(ref m_Slaves, slaves);
                if (oldGroup != null)
                {
                    oldGroup.SetOnPulseStateChange(null);
                }

                if (slaves != null)
                {
                    slaves.SetOnPulseStateChange(OnPulseStateChange);
                }

                return(oldGroup);
            }
        }
Beispiel #2
0
        private RedisManagedServerGroup ExchangeMastersInternal(RedisManagedServerGroup masters)
        {
            lock (m_SyncRoot)
            {
                var oldGroup = Interlocked.Exchange(ref m_Masters, masters);
                if (oldGroup != null)
                {
                    oldGroup.SetOnPulseStateChange(null);
                }

                if (masters != null)
                {
                    masters.SetOnPulseStateChange(OnPulseStateChange);
                }

                return(oldGroup);
            }
        }