[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: KIO design questions
From: Martijn Klingens <mklingens () yahoo ! com>
Date: 2001-10-28 21:02:18
[Download RAW message or body]
I am not completely sure if this is for core-devel or kfm-devel. I opted for
core-devel, since most people reading kfm-devel read core-devel as well and
not necessarily the other way round. Hope this was the right decision :-)
Something that's bothering me for a while now: If you open a file over kio,
there are multiple connections opened for the same file. First KIO tries to
determine the mime type. At least for kio_http this is by issuing a HEAD
command. I am not sure what other protocols do, but I have the slight
impression that those also open a connection for determining a mime type and
close the connection afterwards.
When the app (or kfmclient for legacy apps) then actually downloads the file
the whole process of setting up the connection starts again. This is not an
issue at all on a fast LAN. _HOWEVER_, over slow links this seriously wastes
a lot of time and bandwidth. I have seen it happen that only after a couple
of retries ('F5') the mime type is finally known, after which the darn thing
tries to reconnect again instead of reusing the already open connection.
Why is this? Can't IO slaves be transferred to the new app as soon as it is
started? KIO can keep the connection open while the app is starting and even
start downloading at a small pace so the app essentially starts with a
prebuffered file. Of course this download should not saturate bandwidth and
should be merely used as an advanced form of keep-alive. If a user cancels
the download (e.g. if there is no app associated with the mime type) then KIO
should close the connection, IMO, not earlier.
Any ideas why the design is like this and whether this can be fixed somehow
without a major KIO overhaul?
Martijn
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic