I have a multi-file torrent (3 files). I subscribed to read_piece_alert as explained here.
std::vector<alert*> alerts;
ses.pop_alerts(&alerts);
for (alert* i : alerts) {
switch (a->type()) {
case read_piece_alert::alert_type:
{
read_piece_alert* p = (read_piece_alert*)a;
if (p->ec) {
// read_piece failed
break;
}
// use p
break;
}
case file_renamed_alert::alert_type:
{
// etc...
}
}
}
How can I know to which file the piece belongs in the multi-file torrent?
For example my multi-file torrent has an .AVI, .TXT and .JPG. Is there some kind of index to know to which file the piece actually belongs?
yes. you can map a piece-index into one or more file-indices + offsets with the map_block()
function on file_storage
. See the documentation.