[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: scheduler.cpp fixes & kdirlister.cpp changes
From:       Laurence Anderson <l.d.anderson () warwick ! ac ! uk>
Date:       2002-08-25 21:23:00
[Download RAW message or body]

Waldo Bastian wrote:
> We used to have "sub-urls" to solve this problem. They look like:
> 
> file:/home/laurence/test.zip#tar:/path/to/file
> 
> They basically do a fine job, apart from being very inefficient. But that
> might be fixable.
> 
> What happens is that an IO-job is started for reading
> file:/home/laurence/test.zip and then the contents of that file is send to
> the tar-ioslave who can then do its work and send back the desired file.
> 
> It's clear that this is rather inefficient. To solve that we would need to
> tell the tar io-slave about the file it is about to receive and then leave
> it up to the tar-ioslave to either ask for the data or to read the data
> itself.
> 
> Nice thing is that something like
> http://www.kde.org/somefile.tar#tar:/path would work as well then. The
> first time the tar-ioslave would request the data it would get the http
> file send to it, it can then cache it and for the next request to operate
> on this file it would be able to use its cache and does not need to
> request the http-file again.

Ok, played about with subURL's a bit, got get working, but having some 
problems with listDir crashing konqueror... KDirLister seems to be the 
culprit:
kio (KDirListerCache): listDir: Entry not in cache or reloaded: 
file:/home/laurence/test.tar#tar:/
... kio_archive stuff
kio (KDirListerCache): [void KDirListerCache::slotResult (KIO::Job *)] 
finished listing tar:/
[a few asserts in kdirlister.cpp]
Looks as if the suburl is being lost somewhere as job->url() in 
KDirLister.cpp(836) is just returning tar:/. I'll have a closer look later.

What I am doing at the moment is just using the suburl to obtain the path to 
the archive, and open it, which means at the moment it only works for local 
files, almost exactly as before.

I'll work on support for suburls from other slaves later, maybe just reading 
all the data into a KTempFile. So when put/mkdir is called on a suburl you 
have to send the whole file back to the calling slave using data() ? Can I 
tell by metadata if the file has been modified, hence update my local copy?

So will it be possiable to guarantee that there is only one slave per sub 
url?

Laurence
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic