标签:
20150204
现在只是看了个大概,对整个过程有了大致的理解,记录如下:
mega多线程下载是mega存储的一部分,其中会有一些底层方法的支持,这些先不管,只是看明白是如何下载的。
可以加断点的文件:sources--no domain--其中的一个blob(js,最大的)
调用下载的语句:M.addDownload($.selected);
dl_queue.push()---DownloadQueue.prototype.push
dlIO = new dlMethod(dl_id, dl)---window.FileSystemAPI:dl.io就是这个函数
dl_writer(dl)---dl.writer---new MegaQueue()实例
throttleByIO(dl.writer)---给两个事件添加各自的回调
dlQueue.push(new ClassFile(dl))---MegaQueue.prototype.push:两个push操作来自不同的队列.
DownloadQueue.prototype.splitFile
api_proc(q):xhr load
没有用到memoryIO
MegaData
标签:
原文地址:http://www.cnblogs.com/wang-jing/p/4275922.html