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-20 14:27:16 +0200 |
commit | ed2e2028830714702f1c6c3559b51b2601655806 (patch) | |
tree | 328436a06eb17b801de7d71682607a23bfde1eba /src | |
parent | 3ed42009e85d1e340d1d77933f2c142d7f7e7588 (diff) | |
download | buildstream-ed2e2028830714702f1c6c3559b51b2601655806.tar.gz |
_cas/cascache.py: Add contains_files() method
Like `contains_file()` but checks multiple files in a single request.
Diffstat (limited to 'src')
-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, |