32
32
* files in the program, then also delete it here.
34
34
/* copyright --> */
35
#ifndef _D_DEFAULT_PIECE_STORAGE_H_
36
#define _D_DEFAULT_PIECE_STORAGE_H_
35
#ifndef D_DEFAULT_PIECE_STORAGE_H
36
#define D_DEFAULT_PIECE_STORAGE_H
38
38
#include "PieceStorage.h"
88
89
SharedHandle<PieceSelector> pieceSelector_;
90
bool getMissingPieceIndex(size_t& index,
91
const unsigned char* bitfield, size_t length);
93
SharedHandle<Piece> getMissingPiece(const unsigned char* bitfield,
96
SharedHandle<Piece> getMissingPiece(const BitfieldMan& bitfield);
98
91
#ifdef ENABLE_BITTORRENT
93
(std::vector<SharedHandle<Piece> >& pieces,
94
size_t minMissingBlocks,
95
const unsigned char* bitfield,
99
98
void createFastIndexBitfield(BitfieldMan& bitfield,
100
99
const SharedHandle<Peer>& peer);
101
100
#endif // ENABLE_BITTORRENT
123
122
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer);
124
virtual void getMissingPiece
125
(std::vector<SharedHandle<Piece> >& pieces,
126
size_t minMissingBlocks,
127
const SharedHandle<Peer>& peer);
129
virtual void getMissingPiece
130
(std::vector<SharedHandle<Piece> >& pieces,
131
size_t minMissingBlocks,
132
const SharedHandle<Peer>& peer,
133
const std::vector<size_t>& excludedIndexes);
135
virtual void getMissingFastPiece
136
(std::vector<SharedHandle<Piece> >& pieces,
137
size_t minMissingBlocks,
138
const SharedHandle<Peer>& peer);
140
virtual void getMissingFastPiece
141
(std::vector<SharedHandle<Piece> >& pieces,
142
size_t minMissingBlocks,
143
const SharedHandle<Peer>& peer,
144
const std::vector<size_t>& excludedIndexes);
125
146
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer);
127
virtual SharedHandle<Piece> getMissingFastPiece
148
virtual SharedHandle<Piece> getMissingPiece
149
(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
151
SharedHandle<Piece> getMissingFastPiece
128
152
(const SharedHandle<Peer>& peer);
130
virtual SharedHandle<Piece> getMissingPiece
131
(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
133
virtual SharedHandle<Piece> getMissingFastPiece
154
SharedHandle<Piece> getMissingFastPiece
134
155
(const SharedHandle<Peer>& peer, const std::vector<size_t>& excludedIndexes);
136
157
#endif // ENABLE_BITTORRENT
188
209
virtual bool isSelectiveDownloadingMode();
190
virtual bool isEndGame();
211
virtual bool isEndGame()
216
virtual void enterEndGame()
192
221
virtual SharedHandle<DiskAdaptor> getDiskAdaptor();
194
223
virtual size_t getPieceLength(size_t index);