Esempio n. 1
0
        public RandomizedElectionsAndGossipTestCase(int maxIterCnt,
                                                    int instancesCnt,
                                                    double httpLossProbability,
                                                    double httpDupProbability,
                                                    int httpMaxDelay,
                                                    int timerMinDelay,
                                                    int timerMaxDelay,
                                                    CreateInitialGossip createInitialGossip,
                                                    CreateUpdatedGossip createUpdatedGossip,
                                                    int?rndSeed = null)
            : base(maxIterCnt,
                   instancesCnt,
                   httpLossProbability,
                   httpDupProbability,
                   httpMaxDelay,
                   timerMinDelay,
                   timerMaxDelay,
                   rndSeed)
        {
            _createInitialGossip = createInitialGossip;
            _createUpdatedGossip = createUpdatedGossip;

            _sendOverGrpcBlockingProcessor = new SendOverGrpcBlockingProcessor(Rnd,
                                                                               Runner,
                                                                               HttpLossProbability,
                                                                               HttpDupProbability,
                                                                               HttpMaxDelay);

            _updateGossipProcessor = new UpdateGossipProcessor(new ElectionsInstance[0],
                                                               _sendOverGrpcBlockingProcessor,
                                                               _createUpdatedGossip,
                                                               Enqueue
                                                               );
        }
        public UpdateGossipProcessor(IEnumerable <ElectionsInstance> allInstances,
                                     SendOverGrpcBlockingProcessor sendOverGrpcProcessor,
                                     RandomizedElectionsAndGossipTestCase.CreateUpdatedGossip createUpdatedGossip,
                                     Action <RandTestQueueItem, Message> enqueue)
        {
            _sendOverGrpcProcessor = sendOverGrpcProcessor;
            _createUpdatedGossip   = createUpdatedGossip;
            _enqueue   = enqueue;
            _instances = allInstances.ToArray();

            _processedItems = new List <RandTestQueueItem>();
            ProcessedItems  = _processedItems;
        }