protected override GossipMessage.GossipUpdated GetInitialGossipFor(ElectionsInstance instance, List<ElectionsInstance> allInstances)
        {
            var members = _createInitialGossip(instance, allInstances.ToArray());
            _updateGossipProcessor.SetInitialData(allInstances, members);

            return new GossipMessage.GossipUpdated(new ClusterInfo(members));
        }
 private MemberInfo[] CreateInitialGossip(ElectionsInstance instance, ElectionsInstance[] allInstances)
 {
     return(new[] {
         MemberInfo.ForVNode(instance.InstanceId, DateTime.UtcNow, VNodeState.Unknown, true,
                             instance.EndPoint, null, instance.EndPoint, null, instance.EndPoint,
                             -1, 0, 0, -1, -1, Guid.Empty, 0, false)
     });
 }
        protected override GossipMessage.GossipUpdated GetInitialGossipFor(ElectionsInstance instance, List <ElectionsInstance> allInstances)
        {
            var members = _createInitialGossip(instance, allInstances.ToArray());

            _updateGossipProcessor.SetInitialData(allInstances, members);

            return(new GossipMessage.GossipUpdated(new ClusterInfo(members)));
        }
 private MemberInfo[] CreateInitialGossip(ElectionsInstance instance, ElectionsInstance[] allInstances)
 {
     return new [] 
            { 
                    MemberInfo.ForVNode(instance.InstanceId, DateTime.UtcNow, VNodeState.Unknown, true, 
                                        instance.EndPoint, null, instance.EndPoint, null, instance.EndPoint, instance.EndPoint, 
                                        -1, 0, 0, -1, -1, Guid.Empty, 0)
            };
 }
        protected virtual GossipMessage.GossipUpdated GetInitialGossipFor(ElectionsInstance instance,
                                                                          List <ElectionsInstance> allInstances)
        {
            var members = allInstances.Select(
                x => MemberInfo.ForVNode(x.InstanceId, DateTime.UtcNow, VNodeState.Unknown, true,
                                         x.EndPoint, null, x.EndPoint, null, x.EndPoint, x.EndPoint, -1, 0, 0, -1, -1, Guid.Empty, 0));
            var gossip = new GossipMessage.GossipUpdated(new ClusterInfo(members.ToArray()));

            return(gossip);
        }
        private MemberInfo[] CreateUpdatedGossip(int iteration,
                                                 RandTestQueueItem item,
                                                 ElectionsInstance[] instances,
                                                 MemberInfo[] initialGossip,
                                                 Dictionary<IPEndPoint, MemberInfo[]> previousGossip)
        {
            if (previousGossip[item.EndPoint].Length < 5)
            {
                Console.WriteLine("Update item: {0} : {1}", iteration, item.EndPoint.Port);
                return instances.Select((x, i) => 
                    MemberInfo.ForVNode(x.InstanceId, DateTime.UtcNow, VNodeState.Unknown, true,
                                        x.EndPoint, null, x.EndPoint, null, x.EndPoint, x.EndPoint,
                                        -1, 0, 0, -1, -1, Guid.Empty, 0)).ToArray();
            }

            return null;
        }
        private MemberInfo[] CreateUpdatedGossip(int iteration,
                                                 RandTestQueueItem item,
                                                 ElectionsInstance[] instances,
                                                 MemberInfo[] initialGossip,
                                                 Dictionary<IPEndPoint, MemberInfo[]> previousGossip)
        {
            if (iteration == 1 || (iteration % 100 != (item.EndPoint.Port % 1000) && _randomCase.Next(100) < 30 ))
                return null;

            if (previousGossip[item.EndPoint].Length < 5)
            {
                return instances.Select((x, i) => 
                                        MemberInfo.ForVNode(x.InstanceId, DateTime.UtcNow, VNodeState.Unknown, true,
                                                            x.EndPoint, null, x.EndPoint, null, x.EndPoint, x.EndPoint,
                                                            -1, 0, 0, -1, -1, Guid.Empty, 0))
                                .ToArray();
            }

            return null;
        }
 protected virtual GossipMessage.GossipUpdated GetInitialGossipFor(ElectionsInstance instance, 
                                                                   List<ElectionsInstance> allInstances)
 {
     var members = allInstances.Select(
         x => MemberInfo.ForVNode(x.InstanceId, DateTime.UtcNow, VNodeState.Unknown, true,
                                  x.EndPoint, null, x.EndPoint, null, x.EndPoint, x.EndPoint, -1, 0, 0, -1, -1, Guid.Empty, 0));
     var gossip = new GossipMessage.GossipUpdated(new ClusterInfo(members.ToArray()));
     return gossip;
 }