Пример #1
0
 public void Setup()
 {
     id.BitField.SetAll(true);
     tester = new TestPicker();
     picker = new PriorityPicker(tester);
     picker.Initialise(rig.Manager.Bitfield, rig.Torrent.Files, new List <Piece>());
     foreach (TorrentFile file in rig.Torrent.Files)
     {
         file.Priority = Priority.Normal;
     }
 }
Пример #2
0
        public void Initialise(ITorrentData torrentData, IReadOnlyList <BitField> ignoringBitfields)
        {
            TorrentData = torrentData;

            IPiecePicker picker = new StandardPicker();

            picker = new RandomisedPicker(picker);
            picker = new RarestFirstPicker(picker);
            picker = new PriorityPicker(picker);

            Picker = IgnoringPicker.Wrap(picker, ignoringBitfields);
            Picker.Initialise(torrentData);
        }
Пример #3
0
        public void Setup()
        {
            singleFile     = CreateSingleFile();
            singleBitfield = new MutableBitField(singleFile.PieceCount()).SetAll(true);
            singlePeer     = PeerId.CreateNull(singleBitfield.Length);

            multiFile     = CreateMultiFile();
            multiBitfield = new MutableBitField(multiFile.PieceCount()).SetAll(true);
            multiPeer     = PeerId.CreateNull(multiBitfield.Length);

            checker = new PiecePickerFilterChecker();
            picker  = new PriorityPicker(checker);
            peers   = new List <PeerId> ();
        }
        public void Setup()
        {
            singleFile     = CreateSingleFile();
            singleBitfield = new BitField(singleFile.Files.Single().EndPieceIndex + 1).SetAll(true);
            singlePeer     = PeerId.CreateNull(singleBitfield.Length);

            multiFile     = CreateMultiFile();
            multiBitfield = new BitField(multiFile.Files.Last().EndPieceIndex + 1).SetAll(true);
            multiPeer     = PeerId.CreateNull(multiBitfield.Length);

            tester = new TestPicker();
            picker = new PriorityPicker(tester);
            peers  = new List <PeerId>();
        }
        public void Initialise(ITorrentData torrentData, IReadOnlyList <BitField> ignoringBitfields)
        {
            TorrentData = torrentData;

            var standardPicker = new StandardPicker();

            HighPriorityPicker = IgnoringPicker.Wrap(new PriorityPicker(standardPicker), ignoringBitfields);

            LowPriorityPicker = new RandomisedPicker(standardPicker);
            LowPriorityPicker = new RarestFirstPicker(LowPriorityPicker);
            LowPriorityPicker = new PriorityPicker(LowPriorityPicker);
            LowPriorityPicker = IgnoringPicker.Wrap(LowPriorityPicker, ignoringBitfields);

            LowPriorityPicker.Initialise(torrentData);
            HighPriorityPicker.Initialise(torrentData);
        }
Пример #6
0
 /// <summary>
 /// Empty constructor for changing piece pickers
 /// </summary>
 public StreamingPiecePicker(PiecePicker picker)
     : base(new PriorityPicker(picker))
 {
     LowPriorityPicker = new PriorityPicker(new RarestFirstPicker(new RandomisedPicker(picker)));
 }