В новой версии включена по умолчанию поддержка протокола WebTorrent, расширяющего протокол BitTorrent возможностями для создания децентрализованных сетей распространения контента, функционирующих через связывание между собой web-браузеров пользователей, просматривающих контент. Для связывания посетителей сайтов в единую сеть доставки контента достаточно разместить на сайте специальный JavaScript-код, использующий технологию WebRTC для прямого обмена данными между браузерами.
Интеграция WebTorrent в libtorrent позволит участвовать в раздаче контента как через стационарные торрент-клиенты, так и через браузеры посетителей сайтов, формируя гибридные сети, комбинарующие BitTorrent и WebTorrent. Торрент-клиенты на основе libtorrent смогут соединяться с работающими в браузерах пирами WebTorrent, например, участвующими в обмене файлами через instant.io. В свою очередь, браузерные клиенты WebTorrent смогут через пользователей стационарных клиентов получить доступ к коллекции торрентов, раздаваемой BitTorrent-пирами поверх TCP/UDP.
Помимо включения поддержки WebTorrent в версии libtorrent 2.1 реализован новый бэкенд ввода/вывода pread_disk_io, использующий функции pwritev и preadv, позволяющие атомарно записывать и читать данные сразу в несколько буферов. Новый бэкенд более эффективен при работе с дисковыми накопителями, сетевыми хранилищами и файловыми системами, монтируемыми через FUSE. Для подобных применений pread_disk_io задействован по умолчанию. Для NVMe-накопителей более эффективен и продолжает применяться по умолчанию старый бэкенд, применяющий отображение файлов в память при помощи mmap.
Источник: http://www.opennet.ru/opennews/art.shtml?num=65886
