summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2019-09-02 08:43:08 +0200
committerJürg Billeter <j@bitron.ch>2019-09-03 11:17:27 +0200
commit733cbfafffd79873f401a198d2986fc82773f57e (patch)
tree553aef9edba5fd42cab86be9ca641630a7426636
parent088705c4c429cc467f8a89ea39958a56a795b5a1 (diff)
downloadbuildstream-733cbfafffd79873f401a198d2986fc82773f57e.tar.gz
casremote.py: Add close() method to close gRPC channel
Also support use as context manager.
-rw-r--r--src/buildstream/_cas/casremote.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/buildstream/_cas/casremote.py b/src/buildstream/_cas/casremote.py
index 9cc1a5488..05b57d3d4 100644
--- a/src/buildstream/_cas/casremote.py
+++ b/src/buildstream/_cas/casremote.py
@@ -183,6 +183,18 @@ class CASRemote():
self._initialized = True
+ def __enter__(self):
+ return self
+
+ def __exit__(self, exc_type, exc_value, traceback):
+ self.close()
+ return False
+
+ def close(self):
+ if self.channel:
+ self.channel.close()
+ self.channel = None
+
# check_remote
#
# Used when checking whether remote_specs work in the buildstream main