예제 #1
0
        public void Handle(SystemMessage.VNodeConnectionEstablished message)
        {
            var oldCluster = _cluster;

            _cluster = UpdateCluster(_cluster, x => x.Is(message.VNodeEndPoint) ? x.Updated(isAlive: true) : x);
            if (_cluster.HasChangedSince(oldCluster))
            {
                LogClusterChange(oldCluster, _cluster, string.Format("TCP connection established to [{0}]", message.VNodeEndPoint));
            }
            _bus.Publish(new GossipMessage.GossipUpdated(_cluster));
        }
예제 #2
0
        public void Handle(SystemMessage.VNodeConnectionEstablished message)
        {
            var oldCluster = _cluster;

            _cluster = UpdateCluster(_cluster, x => x.Is(message.VNodeEndPoint)
                                        ? x.Updated(
                                         _timeProvider.UtcNow, isAlive: true)
                                        : x,
                                     _timeProvider, DeadMemberRemovalPeriod, CurrentRole);
            if (_cluster.HasChangedSince(oldCluster))
            {
                LogClusterChange(oldCluster, _cluster,
                                 string.Format("TCP connection established to [{0}]", message.VNodeEndPoint));
            }
            _bus.Publish(new GossipMessage.GossipUpdated(_cluster));
        }