Exemple #1
0
        /// <summary>
        /// Removes a subscriber that didn't respond to a heartbeat request
        /// </summary>
        /// <param name="sub"></param>
        void SubscriberTimedOut(Subscriber sub)
        {
            Debug.WriteLine("Not feeling a pulse for {0}", sub.SubscriberId);

            Storage.RemoveSubscriber(sub.SubscriberId);
            HeartbeatMonitorList.Remove(sub.SubscriberId);
        }
Exemple #2
0
        /// <summary>
        /// Interface method used by clients
        /// </summary>
        /// <param name="clientId">Calling clients' ID</param>
        public void Heartbeat(Guid clientId)
        {
            if (clientId == Guid.Empty)
            {
                return;
            }

            Debug.WriteLine("Received heartbeat from {0}", clientId);

            if (HeartbeatMonitorList.Contains(clientId))
            {
                HeartbeatMonitorList.Remove(clientId);
            }
            Storage.SubscriberSeen(clientId);
        }