summary refs log tree commit diff
path: root/synapse/util/async.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-06-03 12:00:33 +0100
committerErik Johnston <erik@matrix.org>2016-06-03 12:00:33 +0100
commit3b096c5f5cc55f43cb96bf951dcddf7c0064fd22 (patch)
tree5b5fc4ed70b8455fdc760ccb887b4f4cd4efd41f /synapse/util/async.py
parentMerge pull request #830 from matrix-org/erikj/metrics_perf (diff)
parentPull out update_results_dict (diff)
downloadsynapse-3b096c5f5cc55f43cb96bf951dcddf7c0064fd22.tar.xz
Merge branch 'erikj/cache_perf' of github.com:matrix-org/synapse into develop
Diffstat (limited to 'synapse/util/async.py')
-rw-r--r--synapse/util/async.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/synapse/util/async.py b/synapse/util/async.py
index 0d6f48e2d8..40be7fe7e3 100644
--- a/synapse/util/async.py
+++ b/synapse/util/async.py
@@ -102,6 +102,15 @@ class ObservableDeferred(object):
     def observers(self):
         return self._observers
 
+    def has_called(self):
+        return self._result is not None
+
+    def has_succeeded(self):
+        return self._result is not None and self._result[0] is True
+
+    def get_result(self):
+        return self._result[1]
+
     def __getattr__(self, name):
         return getattr(self._deferred, name)