libtorrent新作品提醒

时间:2014-06-29 21:10:09

标签: libtorrent libtorrent-rasterbar

我正在开发一个将多媒体文件传输到种子上的应用程序。

后端需要在它们到达时向前端提供新的碎片。

我需要一种机制来在新件到达并经过验证时得到通知。据我所知,我可以使用block_finished_alert来做到这一点。我会跟踪哪些块已经到达给定的块,并在所有块到达时读取该块。

这个解决方案似乎有点迂回,我想知道是否有更好的方法。

1 个答案:

答案 0 :(得分:2)

您要求的内容称为piece_finished_alert。每次新作品完成下载并通过散列检查时都会发布。要从磁盘读取一个部分,您可以使用torrent_handle::read_piece()(并在read_piece_alert中获得结果)。

但是,如果您想要流媒体,您可能希望使用torrent_handle::set_piece_deadline()并将标志设置为发送read_piece_alerts。这将调用libtorrent的内置流功能。