Updated README to reflect the current state of the addon.

This commit is contained in:
Sybren A. Stüvel 2016-03-22 15:23:18 +01:00
parent ac29d49450
commit 37ce6cd2b4

View File

@ -29,18 +29,21 @@ Caching is performed at different levels:
* Caching of HTTP GET requests is performed by [CacheControl](https://cachecontrol.readthedocs.org/). * Caching of HTTP GET requests is performed by [CacheControl](https://cachecontrol.readthedocs.org/).
* Cache is stored in `$CACHE/blender_cloud_http/`; by using the file * Cache is stored in `$CACHE/{username}/blender_cloud_http/`; by using the file
backend, we ensure cache persistence across Blender runs. This backend, we ensure cache persistence across Blender runs. This
does require the `lockfile` package to be installed or bundled. does require the `lockfile` package to be installed or bundled.
* The code should be made cache-aware and use the Requests-Cache `CachedSession` sessions. * The code is cache-aware and uses the CacheControl-managed session object.
This allows for more granular control over where in the code cache is (not) used. This allows for more granular control over where in the code cache is (not) used.
* Uncached HTTP requests user another session object to allow
connection pooling.
* Downloaded thumbnails are cached (by us) in `$CACHE/thumbnails/{node_uuid}/{filename}`. * Downloaded thumbnails are cached (by us) in `$CACHE/thumbnails/{node_uuid}/{filename}`.
* Use a non-cached HTTP GET to download these (using [session.cache_disabled()](http://requests-cache.readthedocs.org/en/stable/api.html#requests_cache.core.CachedSession.cache_disabled)). * Use a non-cached HTTP GET to download these.
* HTTP headers are stored as JSON key/value pairs in `$CACHE/thumbnails/{node_uuid}/{filename}.headers`. * A subset of HTTP headers are stored as JSON key/value pairs in `$CACHE/thumbnails/{node_uuid}/{filename}.headers`.
* Use the ETag and If-Modified-Since headers to prevent unnecessary re-downloading. * Use the ETag and If-Modified-Since headers to prevent unnecessary re-downloading.
* Check Content-Length header against actual file size to detect partially-downloaded files that need re-downloading. * Check Content-Length header against actual file size to detect partially-downloaded files that need re-downloading.
* A file download is only attempted once per Blender session.
* Downloaded files (such as textures) are handled in the same way as thumbnails (described above), * Downloaded files (such as textures) are handled in the same way as thumbnails (described above),
but have their metadata stored somewhere else (described below). but have their metadata stored somewhere else (described below).