frostwire设置libtorrent实现顺序下载边下边播
首先跟踪代码运行;
main函数调用GULloader函数加载程序的主界面;
为了看下载部分的实现;首先从程序菜单栏添加种子开始跟踪;
com.limegroup.gnutella.gui.actions FileMenuActions 中跟踪添加种子的运行流程
258行 openMagnetOrTorrent函数实现其中选中种子选项
添加种子后;跳转到GUIMediator中的openTorrentFile实现中;
然后跳到BTDownloadMediator中的openTorrentFile中;
  PartialFilesDialog dlg = new PartialFilesDialog(GUIMediator.getAppFrame(), torrentFile);
是选择种子文件列表中待下载的文件选择窗口;当点击OK时,选定待下载文件;
则由BTDownloadMediator中的openTorrentFile中  调用BTEngine.getInstance().download(torrentFile, saveDir, filesSelection);实现顺序下载;
调用BTEngine过程中的跟踪过程如下:
BTEngine中的download函数调用Downloader中的download函数;
当TorrentHandle为空时;会执行 s.asyncAddTorrent(ti, saveDir, priorities, resumeFile);异步添加种子;
事实上通过打印log信息;走到这一步时th确实为空;=所以跟踪到添加种子的程序中;
由于程序采用的是异步进程通信机制;当添加种子完成后;会发出一个alert
通知种子田家完成再执行相应的操作;在BTEngine的 InnerListener中就实现了这种机制。
所以跳到fireDownloadAdded中添加设置顺序下载的属性。
阅读更多
想对作者说点什么? 我来说一句

libtorrent API 文档(中文版)

2010年01月09日 788KB 下载

没有更多推荐了,返回首页

不良信息举报

frostwire设置libtorrent实现顺序下载边下边播

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭