summaryrefslogtreecommitdiff
path: root/src/buildstream/_cas/casremote.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_cas/casremote.py')
-rw-r--r--src/buildstream/_cas/casremote.py26
1 files changed, 7 insertions, 19 deletions
diff --git a/src/buildstream/_cas/casremote.py b/src/buildstream/_cas/casremote.py
index 2a6028bf8..972c4d818 100644
--- a/src/buildstream/_cas/casremote.py
+++ b/src/buildstream/_cas/casremote.py
@@ -316,35 +316,25 @@ class CASRemote():
class _CASBatchRead():
def __init__(self, remote):
self._remote = remote
- self._max_total_size_bytes = remote.max_batch_total_size_bytes
- self._request = remote_execution_pb2.BatchReadBlobsRequest()
- if remote.instance_name:
- self._request.instance_name = remote.instance_name
- self._size = 0
+ self._request = local_cas_pb2.FetchMissingBlobsRequest()
+ self._request.instance_name = remote.local_cas_instance_name
self._sent = False
def add(self, digest):
assert not self._sent
- new_batch_size = self._size + digest.size_bytes
- if new_batch_size > self._max_total_size_bytes:
- # Not enough space left in current batch
- return False
-
- request_digest = self._request.digests.add()
- request_digest.hash = digest.hash
- request_digest.size_bytes = digest.size_bytes
- self._size = new_batch_size
- return True
+ request_digest = self._request.blob_digests.add()
+ request_digest.CopyFrom(digest)
def send(self, *, missing_blobs=None):
assert not self._sent
self._sent = True
- if not self._request.digests:
+ if not self._request.blob_digests:
return
- batch_response = self._remote.cas.BatchReadBlobs(self._request)
+ local_cas = self._remote.cascache._get_local_cas()
+ batch_response = local_cas.FetchMissingBlobs(self._request)
for response in batch_response.responses:
if response.status.code == code_pb2.NOT_FOUND:
@@ -361,8 +351,6 @@ class _CASBatchRead():
raise CASRemoteError("Failed to download blob {}: expected {} bytes, received {} bytes".format(
response.digest.hash, response.digest.size_bytes, len(response.data)))
- yield (response.digest, response.data)
-
# Represents a batch of blobs queued for upload.
#