private RedisManagedPoolGroup ExchangeSlavesInternal(RedisManagedPoolGroup 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);
            }
        }
        private RedisManagedPoolGroup ExchangeMastersInternal(RedisManagedPoolGroup 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);
            }
        }