Example #1
0
        internal void ChangePicker(PiecePicker picker, BitField bitfield, ITorrentData data)
        {
            if (UnhashedPieces.Length != bitfield.Length)
            {
                UnhashedPieces = new BitField(bitfield.Length);
            }

            picker = new IgnoringPicker(bitfield, picker);
            picker = new IgnoringPicker(UnhashedPieces, picker);
            IEnumerable <Piece> pieces = Picker == null ? new List <Piece>() : Picker.ExportActiveRequests();

            picker.Initialise(bitfield, data, pieces);
            Picker = picker;
        }
Example #2
0
        internal void ChangePicker(PiecePicker picker, BitField bitfield, TorrentFile[] files)
        {
            if (unhashedPieces.Length != bitfield.Length)
            {
                unhashedPieces = new BitField(bitfield.Length);
            }

            picker = new IgnoringPicker(bitfield, picker);
            picker = new IgnoringPicker(unhashedPieces, picker);
            IEnumerable <Piece> pieces = Picker == null ? new List <Piece>() : Picker.ExportActiveRequests();

            picker.Initialise(bitfield, files, pieces);
            this.picker = picker;
        }