[Kget] [GSoC] Multiple improvements in KGet

Lukas Appelhans l.appelhans at gmx.de
Sat Mar 28 20:37:04 CET 2009


On Samstag 28 März 2009 18:29:36 you wrote:
> Thanks a lot for the feedback.
>
> I actually have a few questions about multi-source downloading. How
> would it work? Would the user enter one link for the .torrent, another
> for a direct download and so on?
>
> I will take a look at the code base before I have a concrete idea of
> what to do. I think the basic idea would be that you use Bittorrent's
> chunking ability ( I believe btchunkselector is where I should be
> looking) to download from a certain range to the next, use HTTP's
> Range header and FTP's REST command. But coordinating these will be
> the challenging part.
> Would concurrent IO be possible or is it recommended to write to
> different files and combine them? In which case more code would be
> required to ensure integrity in case of a crash or something...
> If I'm on the right track, I'll update the application.
>
> Nikhil
Hey!
The concept for MultiSourceDownloading is already inside KGet although not yet 
implement fully...

DataSources: Every transfer-plugin capable of getting a specific range of bits 
on a specific position in the file to download should provide one... For the 
bittorrent plugin it's a bit harder, because it needs some custom stuff inside 
libbtcore... although it's halfway-done I think and I can do the rest if it's 
too hard ;)
For the MultiSegKIO plugin it should be easy if you know the internals of 
it...

So via DataSources you can get parts of files from different sources, but you 
have to merge all those stuff... for that the DataSourceFactory class exists, 
it merges all those bits, assigns new jobs & saves the data... this class is 
halfway implemented as well, but surely untested. :P

The Transfer-Plugin which wants to be able to do multi-source-downloading can 
just create a DataSourceFactory & a DataSource and it's all done ;)

That's the theoretical part of it...

Hope you understood that :D

Lukas
>
> On 3/28/09, Lukas Appelhans <l.appelhans at gmx.de> wrote:
> > On Samstag 28 März 2009 13:14:26 Nikhil Marathe wrote:
> >> Hi,
> >>
> >> Sorry I'm a bit late about this, but I had exams for the last three
> >> days.
> >>
> >> I'm interested in applying for 'multiple improvements for KGet'.
> >> Towards this I've uploaded my proposal to the GSoC website. It can
> >> also be found here:
> >>
> >> http://22bits.exofire.net/gsoc/kget_kde.txt
> >>
> >> I am currently in the process of setting up a development environment
> >> from svn trunk.
> >>
> >> Criticism is welcome.
> >>
> >> Thanks,
> >> Nikhil
> >> _______________________________________________
> >> Kget mailing list
> >> Kget at kde.org
> >> https://mail.kde.org/mailman/listinfo/kget
> >
> > Hey!
> >
> > Nice proposal so far!
> >
> > Just a few points about it:
> > -Nepomuk-Integration: It's mostly done, but crashes currently, need to
> > fix it,
> > yeah... although that shouldn't be a THAT big point for GSoC...
> > -File-Properties: Should go into the KGet-Transfer-Settings-Dialog imo...
> > :)
> >
> > Also you will need add implementation details for
> > Multi-Source-Downloading, it's by far the hardest of the things
> > mentioned. :)
> >
> > But all in all, it's looking very good!
> >
> > Lukas
> > _______________________________________________
> > Kget mailing list
> > Kget at kde.org
> > https://mail.kde.org/mailman/listinfo/kget



More information about the Kget mailing list