Die Veröffentlichung von libtorrent 2.1 mit der WebTorrent-Protokollintegration

Die Bibliothek libtorrent 2.1 ist jetzt verfügbar und bietet eine Implementierung des BitTorrent-Protokolls, die auf einen geringen Speicherverbrauch und eine effiziente Nutzung der CPU-Ressourcen abzielt. Die Bibliothek wird in Torrent-Clients wie Deluge, qBittorrent, Folx, Lince, Miro, Flush und Free Download Manager verwendet sowie in einigen Netzwerk-Speichern. Der Code von libtorrent ist in C++ geschrieben und steht unter der BSD-Lizenz.

In der neuen Version ist standardmäßig die Unterstützung des WebTorrent-Protokolls integriert, das das BitTorrent-Protokoll um Funktionen zur Erstellung dezentraler Netzwerke für die Verbreitung von Inhalten erweitert, die durch die Verbindung von Webbrowsern der Benutzer, die Inhalte anzeigen, funktionieren. Um die Besucher einer Website zu einem gemeinsamen Content Delivery Network zu verbinden, reicht es aus, einen speziellen JavaScript-Code auf der Website zu platzieren, der die WebRTC-Technologie für den direkten Datenaustausch zwischen Browsern nutzt.

Die Integration von WebTorrent in libtorrent ermöglicht die Teilnahme an der Verbreitung von Inhalten sowohl über stationäre Torrent-Clients als auch über Browser der Website-Besucher und bildet hybride Netzwerke, die BitTorrent und WebTorrent kombinieren. Torrent-Clients, die auf libtorrent basieren, können sich mit WebTorrent-Peer verbinden, die in Browsern arbeiten, zum Beispiel solche, die am Dateiaustausch über instant.io teilnehmen. Umgekehrt können WebTorrent-Browser-Clients über die Benutzer stationärer Clients auf die von BitTorrent-Peers bereitgestellte Sammlung von Torrents zugreifen, die über TCP/UDP verteilt wird.

Neben der Aufnahme der WebTorrent-Unterstützung in der Version libtorrent 2.1 wurde ein neuer Ein- / Ausgabebereich pread_disk_io implementiert, der die Funktionen pwritev und preadv verwendet, wodurch Daten atomar in mehrere Puffer gleichzeitig geschrieben und gelesen werden können. Der neue Backend ist effizienter im Umgang mit Festplattenspeichern, Netzwerk-Speichern und Dateisystemen, die über FUSE eingebunden werden. Für solche Anwendungen wird pread_disk_io standardmäßig eingesetzt. Für NVMe-Speicher ist der ältere Backend, der die Dateimapping-Funktion mithilfe von mmap anwendet, effizienter und wird weiterhin standardmäßig verwendet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4