Difference between revisions of "Projects/Marble/TileDownload"

Jump to: navigation, search
Line 8: Line 8:
  
 
Separation between http download and tile providing since http download is needed for wikipedia (and perhaps other stuff) integration also.
 
Separation between http download and tile providing since http download is needed for wikipedia (and perhaps other stuff) integration also.
 +
 +
The interface needs to support asynchronous calls because inside the network plugin we want to have a threaded implementation.
 +
 +
The network plugin should be able to handle redirects but it should also be possible to forbid redirects or to inform about redirects.
 +
 +
It should be possible to set a storage policy for the network plugin, so downloaded content could be saved in files for example.
 +
 +
The TileLoader should be able to handle not only files, but also QByteArrays or whatever is delivered by the network plugin interface.
  
 
=== Design proposal ===
 
=== Design proposal ===
  
 
to be done
 
to be done

Revision as of 20:35, 23 March 2009

Design considerations

Downloading of tiles should be in separate threads so that each connection to a tile server has its own thread.

Connections to tile servers should use the "keep alive" feature. At the moment for every tile a new connection is created.

Perhaps create an (abstract) interface / abstract class TileProvider? Not sure, if there is an use case.

Separation between http download and tile providing since http download is needed for wikipedia (and perhaps other stuff) integration also.

The interface needs to support asynchronous calls because inside the network plugin we want to have a threaded implementation.

The network plugin should be able to handle redirects but it should also be possible to forbid redirects or to inform about redirects.

It should be possible to set a storage policy for the network plugin, so downloaded content could be saved in files for example.

The TileLoader should be able to handle not only files, but also QByteArrays or whatever is delivered by the network plugin interface.

Design proposal

to be done


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal