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

List:       kfm-devel
Subject:    Re: KIO Architecture (Was Re: Bug#1483: 1483 Ever climbing number of kioslaves.)
From:       Waldo Bastian <bastian () kde ! org>
Date:       2000-04-21 18:48:05
[Download RAW message or body]

On Fri, 21 Apr 2000, David Faure wrote:
> On Fri, Apr 21, 2000 at 11:01:39AM -0700, Waldo Bastian wrote:
> > On Fri, 21 Apr 2000, David Faure wrote:
> > > > Well, I have a couple of questions here David.  As Waldo mentioned
> > > > how would you deal with incremental downloads such as streaming audio
> > > > off of the net ??
> > >
> > > Dropping what arrived during the KIO::mimetype call, simply.
> >
> > How can they distinguish between streaming contents and a large file?
>
> I'm definitely no expert in streaming media. But at least the SIZE request
> won't work on streaming contents ;-))))
>
> I don't know about the implementation details for streaming media at all.
> All I'm saying is that conceptually, the mimetype()/get() distinction
> makes sense in that case too, and that when the get is issued, the
> pre-fetched data can be used as the initial data (even in that case, in
> fact) or dropped.

I think it is a pain to get that right. I would rather see a solution on the 
konqueror side of things. E.g. do the GET right away, look at the actual 
mimetype of the data being received, selecting the part, and then hand the 
io-slave over to the part. Instead of a KURL we would give the part a 
TransferJob instead then. 

If the part happens to be an external process we need to do something else. 
We could 
1) cancel the request and let the external process start it (again), just as 
it does now.

2) transfer the io-slave to the new process. (Possible with the new IO-slave 
concept but very hairy)

Solution 1) would be more portable since it wouldn't break with non-KDE 
application. We could add work-arounds for non-KDE applications though, based 
on information from the applications .desktop file.

Solution 2) works smoother in the case of "I browse an ftp site and click on 
a *.rpm". Canceling and restarting a ftp-job is quite expensive because you 
will need to re-login to the ftp server.

Cheers,
Waldo

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

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