summaryrefslogtreecommitdiff
path: root/docs/api/blobs-server-backend.rst
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2017-12-09 08:48:53 -0200
committerdrebs <drebs@leap.se>2017-12-13 13:49:28 -0200
commit348711fa897e6838b398bf548962dd9da38c1f4c (patch)
tree5eef703ee7af9db29d2fd1318aff25ece86416cb /docs/api/blobs-server-backend.rst
parent94ddb9f80273a3db3fedfdc7a846a1ebeedd0003 (diff)
[doc] improve documentation on IBlobsBackend
Diffstat (limited to 'docs/api/blobs-server-backend.rst')
-rw-r--r--docs/api/blobs-server-backend.rst25
1 files changed, 20 insertions, 5 deletions
diff --git a/docs/api/blobs-server-backend.rst b/docs/api/blobs-server-backend.rst
index 770ac806..7011d66d 100644
--- a/docs/api/blobs-server-backend.rst
+++ b/docs/api/blobs-server-backend.rst
@@ -1,11 +1,26 @@
-Blobs Server-side Data Backend API
-==================================
+Blobs Server-side Backend Interface
+===================================
-Blobs Backend Interface
------------------------
+The :ref:`blobs` functionality has the purpose of adding to Soledad the
+capacity of handling binary objects efficiently. In this case, efficiency means
+low use of resources (memory, cpu, and time) and storage scalability. The
+choice of which data storage backend to use for Blobs affects each of these
+properties in different ways.
+
+The :ref:`blobs-backend-interface` is provided so that Soledad Server is
+agnostic of which data backend is used for Blobs storage. In order to add a new
+backend, one needs to:
+
+* implement a backend according to the :ref:`IBlobsBackend <blobs-backend-interface>` interface,
+* register the new handler in the Twisted-based ``BlobsResource``, and
+* instantiate the Twisted-based ``BlobsResource`` using the new handler.
+
+.. _blobs-backend-interface:
+
+``IBlobsBackend`` Interface
+---------------------------
.. autoclass:: leap.soledad.server.interfaces.IBlobsBackend
:members:
:undoc-members:
- :special-members: __init__
:show-inheritance: