public ReceiveGossipThread(GossipNode gossipNode, GossipManager gossipManager) { _gossipManager = gossipManager; _gossipNode = gossipNode; try { Logger.Debug($"Gossip service successfully initialized on {_gossipNode.GossipPeer.EndPoint}"); Logger.Debug($"I am {_gossipNode.GossipPeer}"); _cluster = _gossipNode.GossipPeer.ClusterName; if (_cluster == null) { throw new ArgumentNullException("cluster was null"); } } catch (Exception ex) { Logger.Warn(ex); throw; } _keepRunning = true; TaskScheduler.UnobservedTaskException += OnUnobservedTaskException; }
public GossipNode(GossipSettings settings) { _settings = settings; _gossipManager = new GossipManager(this); _remotePeers = new ConcurrentDictionary <string, IGossipPeer>(); _gossipPeer = new GossipPeer(settings.ClusterName, new IPEndPoint(IPAddress.Any, settings.Port), settings.Id, DateTime.MinValue); }
public SendGossipThread(GossipNode gossipNode, GossipManager gossipManager) { _gossipNode = gossipNode; _random = new Random(); _gossipManager = gossipManager; _replyTimer = new Timer(new TimerCallback(ReplyTimerHandle)); _heartbeatTimer = new Timer(new TimerCallback(HeartbeatTimerHandle)); }