summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api
AgeCommit message (Collapse)Author
2024-07-16Add useful aliases for platform properties and dispatch endpointPaul Cristian Sarbu
2024-07-16Remove the LocalExecutionConfig singletonPaul Cristian Sarbu
...and replace it with passed instances created early via a builder pattern.
2024-07-16Pass LocalExecutionConfig to ApiBundlePaul Cristian Sarbu
2024-07-16Pass LocalExecutionConfig to LocalAction and LocalApiPaul Cristian Sarbu
2024-07-16LocalAction, BazelAction: Extend constness in fields and methodsPaul Cristian Sarbu
2024-07-16Remove Data struct from LocalExecutionConfigPaul Cristian Sarbu
...to simplify the class and clarify the singleton pattern in preparation for its removal.
2024-07-12Capture in TreeReaders by pointer to avoid temporariesMaksim Denisov
2024-07-12Replace IBundle classes family with BazelBlobMaksim Denisov
2024-07-12Return std::nullopt if creation of an action digest failsMaksim Denisov
...instead of dereferencing nullptr.
2024-07-12Pack arguments of CreateActionDigestFromCommandLine to a structMaksim Denisov
2024-07-12Remove unused parameters in CreateDirectoryDigestFromTreeMaksim Denisov
2024-07-12Move BazelMsgFactory reading functions to a separate classMaksim Denisov
2024-07-10ParallelRetrieveToCas: process prerequisites in parallelKlaus Aehlig
2024-07-10ParallelRetrieveToCas: avoid duplicated requestsKlaus Aehlig
While no additional blob will be transferred, doing a request for missing blobs is still a request and, in particular, an unnecessary round trip. Therefore avoid this, by remembering what we synchronized already.
2024-07-05local action: copy input file on reaching symlink limitKlaus Aehlig
... and continue with the newly created copy as target for the next hard links. In this way, we get rid of the restriction we used to have that the number of identical inputs be not greater than the hardlink limit.
2024-07-05Pass StorageConfig and Storage to LocalApiMaksim Denisov
2024-07-05Pass StorageConfig and Storage to ServerImplMaksim Denisov
2024-07-05Pass StorageConfig to GarbageCollector::SharedLockMaksim Denisov
2024-07-05Use StorageConfig functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-07-05Move functionality from StorageConfig to related classes.Maksim Denisov
2024-07-04Replace the Auth and Auth::TLS singletonsPaul Cristian Sarbu
Use a builder pattern for creation and validation, in a manner that allows also other authentication methods to be added in the future besides the current TLS/SSL. The main Auth instances are built early and then passed by not_null const pointers, to avoid passing temporaries, replacing the previous Auth::TLS instances passed by simple nullable const pointers. Where needed, these passed Auth instances are also stored, by const ref. Tests also build Auth instances as needed, either with the default 'no certification' or from the test environment arguments.
2024-07-04Pass Auth::TLS instance to serve and execute clientsPaul Cristian Sarbu
2024-07-04Use ApiBundle's Auth::TLS instance in serve and execute serversPaul Cristian Sarbu
2024-07-04Pass Auth::TLS instance to BazelApi and ServeApiPaul Cristian Sarbu
2024-07-04Use Auth and TLS configurations via Instance()Paul Cristian Sarbu
...to more easily keep track of changes during refactoring.
2024-07-04Mark more constructors 'explicit'Paul Cristian Sarbu
Since c++17 the 'explicit' keyword has use also for constructors with more than one argument and it is recommended to use it by default whereever implicit conversions are not expected bahaviour.
2024-06-28Use (un)expected for CAS utilsOliver Reiche
2024-06-28Use (un)expected for CAS accessOliver Reiche
2024-06-28Use (un)expected for parsing dispatch infoOliver Reiche
2024-06-27Use a raw pointer for passing optional RepositoryConfigMaksim Denisov
...instead of std::optional<gsl::not_null<RepositoryConfig const*>>.
2024-06-27Use a raw pointer for passing optional IExecutionApiMaksim Denisov
...instead of std::optional<gsl::not_null<IExecutionApi const*>>
2024-06-25Introduce a type allias for an optional ptr to IExecutionApiMaksim Denisov
...and replace verbose constructions.
2024-06-25Make IExecutionApi::Ptr a shared pointer to constMaksim Denisov
...and use it in ApiBundle.
2024-06-25Pass IExecutionApi to ServerImpl, Archive by referenceMaksim Denisov
...instead of not_null const ptr.
2024-06-25Pass IExecutionApi to IExecutionApi by referenceMaksim Denisov
...instead of not_null const ptr.
2024-06-25Mark IExecutionApi's methods constantMaksim Denisov
2024-06-25Remove CreateExecutionApiMaksim Denisov
2024-06-25Pass ApiBundle to ServerImplMaksim Denisov
2024-06-25Instantiate LocalApi and BazelApi at onceMaksim Denisov
...to properly fallback to local api if needed.
2024-06-17Use c++20 standard in clang-formatMaksim Denisov
2024-06-07Move reading functionality to BazelNetworkReaderMaksim Denisov
...to enable validation of received blobs.
2024-06-07Validate all blobs received over the network.Maksim Denisov
2024-06-07Use BaselCasClient in BazelNetworkReaderMaksim Denisov
...bypassing BazelNetwork layer.
2024-06-07Mark methods constant in BazelCasClient.Maksim Denisov
2024-06-07Remove unused codeMaksim Denisov
2024-06-07Remove unused code.Maksim Denisov
IExecutionApi::UploadFile was introduced to handle adding of a temporary file to the storage. The call was redirected to LocalCAS internal methods that do the similar thing, so this virtual method can be removed.
2024-06-04blob containers: Store and upload taking into account content sizePaul Cristian Sarbu
Update logic populating containers to use the new method which is aware of the maximum transfer limit.
2024-06-04common_api: Add method to help limit memory footprint of containers...Paul Cristian Sarbu
...by proactively calling the Upload method for large blobs and containers as soon as the transfer limit is reached.
2024-06-04bazel_network: Change UploadBlobs to also accept an rvaluePaul Cristian Sarbu
This unifies the signature of all uploader functions consuming a BlobContainer type.
2024-06-04ContentBlobContainer: Add content size fieldPaul Cristian Sarbu
As the ContentBlobContainer is used to store actual content needed to be transferred, it is useful to automatically keep track of the running (bytes) size of the data being stored.