diff options
author | Jürg Billeter <j@bitron.ch> | 2020-04-15 09:39:19 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2020-04-19 07:07:32 +0200 |
commit | c47aa499be261282d92b1b080bdf4c14f3f56d45 (patch) | |
tree | fc8bc8ade435f29472256480ee8ef7c612693566 | |
parent | ab9bc8e39e61372206f360c582a82815a12e9c7e (diff) | |
download | buildstream-c47aa499be261282d92b1b080bdf4c14f3f56d45.tar.gz |
_cas/cascache.py: Add contains_files() method
Like `contains_file()` but checks multiple files in a single request.
-rw-r--r-- | src/buildstream/_cas/cascache.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/buildstream/_cas/cascache.py b/src/buildstream/_cas/cascache.py index 61a1a8f50..9fbae67a4 100644 --- a/src/buildstream/_cas/cascache.py +++ b/src/buildstream/_cas/cascache.py @@ -165,24 +165,36 @@ class CASCache: self._casd_process_manager.release_resources(messenger) self._casd_process_manager = None - # contains_file(): + # contains_files(): # - # Check whether a digest corresponds to a file which exists in CAS + # Check whether file digests exist in the local CAS cache # # Args: # digest (Digest): The file digest to check # - # Returns: True if the file is in the cache, False otherwise + # Returns: True if the files are in the cache, False otherwise # - def contains_file(self, digest): + def contains_files(self, digests): cas = self.get_cas() request = remote_execution_pb2.FindMissingBlobsRequest() - request.blob_digests.append(digest) + request.blob_digests.extend(digests) response = cas.FindMissingBlobs(request) return len(response.missing_blob_digests) == 0 + # contains_file(): + # + # Check whether a digest corresponds to a file which exists in CAS + # + # Args: + # digest (List[Digest]): The file digests to check + # + # Returns: True if the file is in the cache, False otherwise + # + def contains_file(self, digest): + return self.contains_files([digest]) + # contains_directory(): # # Check whether the specified directory and subdirectories are in the cache, |