/// <summary> /// Sends a heartbeat message to a given subscription /// </summary> /// <param name="sub">The subscription to ping</param> void SendHeartBeat(Subscriber sub) { if (!clients.ContainsKey(sub.SubscriberId)) { clients.Add(sub.SubscriberId, ClientFactory.Connect(sub.Endpoint)); } try { Debug.WriteLine("Checking {0} for a pulse", sub.SubscriberId); clients[sub.SubscriberId].Heartbeat(); HeartbeatMonitorList.Add(sub.SubscriberId); } catch (EndpointNotFoundException) { Unsubscribe(sub.SubscriberId); } }