[BuildStream] Artifactcache refactor
- From: Raoul Hidalgo Charman <raoul hidalgocharman codethink co uk>
- To: buildstream-list gnome org
- Subject: [BuildStream] Artifactcache refactor
- Date: Tue, 8 Jan 2019 16:05:30 +0000
Hi everyone,
I've recently been working on a large refactor of the artifact cache,
raised in
issues 802 [1] in order to help implement a CAS based remote source
cache [2],
with the MR now out of WIP [3]. As this will affect future work and
especially
anyone who's got current MR's in this area, it's worth highlighting the
changes
in here.
Firstly the modules have been shuffled around a bit, with the artifact cache
class in it's own top level module `_artifactcache`, and folder now renamed
`_cas`. This reflects the fact that the cas related modules will no
longer be
artifact cache only when the source cache is implemented.
Secondly, the interface for `CASCache` and `CASRemote` has changed
significantly, with `CASRemote` incorporating the remote logic seperated out
from `CASCache` and moved into it's own module to reflect this.
Previously `CASRemote` wasn't much more than data structure for grpc
stubs and
similar, with `CASCache` methods that require remote interaction having the
remote passed as an argument. To decouple these classes they both have a
new API
which are used in the `ArtifactCache` class for pull and push methods.
These changes are described in more detail on the MR page [3]. Have a
look if
this is relevant to current or future work.
Cheers,
Raoul
[1] https://gitlab.com/BuildStream/buildstream/issues/802
[2] https://gitlab.com/BuildStream/buildstream/issues/440
[3] https://gitlab.com/BuildStream/buildstream/merge_requests/1013
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]