GithubHelp home page GithubHelp logo

Comments (11)

pkillnine avatar pkillnine commented on May 13, 2024 3

@johang thanks, this patch seems to work - note that once a file is accessed it attempts to download the whole thing. Is it possible to set it so it only downloads what is accessed, rather than the whole file?

diff --git a/src/btfs.cc b/src/btfs.cc
index 1f4a72d..4da1ebe 100644
--- a/src/btfs.cc
+++ b/src/btfs.cc
@@ -205,6 +205,7 @@ setup() {
 		handle.pause();
 
 	for (int i = 0; i < ti->num_files(); ++i) {
+		handle.file_priority(i, 0);
 		std::string parent("");
 
 #if LIBTORRENT_VERSION_NUM < 10100

from btfs.

leadenhead avatar leadenhead commented on May 13, 2024 1

This is by design. Parts that are read by applications are prioritized, but if there is bandwidth available it will download the rest of the torrent.

Same problem. There is no point in this utility without the "download files as needed" feature. It's not about the available bandwidth. You can download the torrent using qbittorrent. The point is the available disk space. You need to be able to view a specific file. But qbittorrent can do that too. Therefore, it is very important to download "only some parts" of the file. For example, when previewing video or audio (when searching). It would be nice to use some amount of cache (configurable), which would not save data to disk. For example, provided that the file is viewed by no more than 10 percent. Or work without saving to disk at all.

btfs 2.24-1 / archlinux 5.15.3-arch1-1 / spectrwm

from btfs.

rienafairefr avatar rienafairefr commented on May 13, 2024 1

If anyone interested, I've patched btfs to handle the "no fetch" case, where pieces are downloaded only when really needed, no auto-downloading of anything except what's asked to be read through fuse, in a branch here https://github.com/rienafairefr/btfs/tree/no-fetch

from btfs.

OliverOffing avatar OliverOffing commented on May 13, 2024 1

Check out https://github.com/distribyted/distribyted too — solved my problem.

from btfs.

johang avatar johang commented on May 13, 2024

This is by design. Parts that are read by applications are prioritized, but if there is bandwidth available it will download the rest of the torrent.

from btfs.

fabianski7 avatar fabianski7 commented on May 13, 2024

is there any way to change this?

from btfs.

johang avatar johang commented on May 13, 2024

You can patch the function setup() in btfs.cc to set all files to priority 0.

from btfs.

fabianski7 avatar fabianski7 commented on May 13, 2024

here?

https://github.com/johang/btfs/blob/master/src/btfs.cc#L103

from btfs.

johang avatar johang commented on May 13, 2024

No, here: https://github.com/johang/btfs/blob/master/src/btfs.cc#L206

from btfs.

pkillnine avatar pkillnine commented on May 13, 2024

@johang how would you set all the files to priority 0? I'd like to patch this as well to prevent it downloading as soon as it's mounted.

from btfs.

johang avatar johang commented on May 13, 2024

Look in libtorrents docs (torrent_handle::file_priority(...)).

from btfs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.