5202b0e586
Refactor on-disk knowledge out of the object server by pushing the
async update pickle creation to the new DiskFileManager class (name is
not the best, so suggestions welcome), along with the REPLICATOR
method logic. We also move the mount checking and thread pool storage
to the new ondisk.Devices object, which then also becomes the new home
of the audit_location_generator method.
For the object server, a new setup() method is now called at the end
of the controller's construction, and the _diskfile() method has been
renamed to get_diskfile(), to allow implementation specific behavior.
We then hide the need for the REST API layer to know how and where
quarantining needs to be performed. There are now two places it is
checked internally, on open() where we verify the content-length,
name, and x-timestamp metadata, and in the reader on close where the
etag metadata is checked if the entire file was read.
We add a reader class to allow implementations to isolate the WSGI
handling code for that specific environment (it is used no-where else
in the REST APIs). This simplifies the caller's code to just use a
"with" statement once open to avoid multiple points where close needs
to be called.
For a full historical comparison, including the usage patterns see:
https://gist.github.com/portante/5488238
(as of master,
|
||
---|---|---|
.. | ||
_ga | ||
_static | ||
_theme | ||
account.rst | ||
admin_guide.rst | ||
apache_deployment_guide.rst | ||
associated_projects.rst | ||
conf.py | ||
container.rst | ||
cors.rst | ||
crossdomain.rst | ||
db.rst | ||
deployment_guide.rst | ||
development_auth.rst | ||
development_guidelines.rst | ||
development_ondisk_backends.rst | ||
development_saio.rst | ||
getting_started.rst | ||
howto_installmultinode.rst | ||
index.rst | ||
misc.rst | ||
object.rst | ||
overview_architecture.rst | ||
overview_auth.rst | ||
overview_container_sync.rst | ||
overview_expiring_objects.rst | ||
overview_large_objects.rst | ||
overview_object_versioning.rst | ||
overview_reaper.rst | ||
overview_replication.rst | ||
overview_ring.rst | ||
proxy.rst | ||
ratelimit.rst | ||
replication_network.rst | ||
ring.rst |