LibTorrent是用C ++编写的Unix的一个BitTorrent的图书馆。 LibTorrent库的设计,避免了多余的缓冲和数据复制,大多数(所有?)其他的BitTorrent实现从苦。
图书馆是单线程和客户端处理的选择循环。一个互动的ncurses客户端是作为一个例子
这里是“LibTorrent”的一些主要特点:。
ยท客户端完全控制插座的投票< BR />ยทSigc ++信号使我容易让客户对事件作出反应。
ยท快速恢复它检查文件的修改时间。
直读和网络的mmap“写作编辑文件:
ยท避免重复的数据,其中应用程序和内核具有文件块的副本
ยท未使用的数据块被赶出或写入的磁盘来代替。 。交换
ยท内核处理文件的缓存
文件哈希检查:
ยท使用相同的线程
ยท客户端。控制率。 (将得到改善)
ยท非阻塞和预紧内存与和mincore和使用madvise系统调用
文件处理程序:
ยท细粒度使用文件的读/写权限,允许只读文件的播种。
ยท允许山洪无限数量的文件。
ยท映射时,大块内存,搭配优美的错误处理打开关闭文件。
ยท支持文件大于2 GB。
ยท的文件不同的下载优先级的洪流。
ยท多跟踪支持。
ยท在任何特定的HTTP库不依赖,客户端实现了一个包装类。
ยท动态请求管道尺寸。
ยท上传和下载油门。
ยท还有更多我没有懒得提。 (也不执行)
要求:
ยทlibsigc ++ 2.0
新增本新闻稿中:英
ยท这版本增加了支持DHT和清理API
什么是此版本中的新:
- 在增加了一个简单的调度框架.Don't发送numwant处于停止消息,因为一些纤夫都是愚蠢的约epoll的事件列表中it.Reintroduced结算时,插座是封闭的ASIT可能导致种族conditions.Added CppUnit的测试框架。写出会议山洪测试时,将增加上,而街头非正规basis.Logging错误的SCGI calls.Fixed处理,itshould不再打一个无限loop.Fixed会导致阅读的一块挂rtorrent的一个bug ifthe输入数据只包含数据到一个文件中的边界,但notthe下一个文件的data.Fixes在execute_capture功能的文件句柄泄漏。补丁byJosef Drexler.Fixed崩溃的空位域在“d.bitfield'.Fixed对象:: flag_unordered代码来处理初始零lengthkeys。票务#1950.Made洪流::率:: rate_type uint64_t中,并添加完整性检查dueto坏报告下载/上传值被报告给sometrackers。
评论没有发现