Оповещения libtorrent — read_piece_alert

У меня многофайловый торрент (3 файла). Я подписался на read_piece_alert, как описано здесь.

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...
                }
        }
}

Как узнать, какому файлу принадлежит кусок в многофайловом торренте?

Например, мой многофайловый торрент имеет форматы .AVI, .TXT и .JPG. Есть ли какой-то индекс, чтобы узнать, какому файлу на самом деле принадлежит кусок?


person user3606329    schedule 16.08.2017    source источник


Ответы (1)


да. вы можете сопоставить индекс части с одним или несколькими файловыми индексами + смещения с помощью функции map_block() на file_storage. См. документацию.

person Arvid    schedule 16.08.2017