summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api/remote/source_tree_client.cpp
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-12-05 12:00:08 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-12-07 10:00:12 +0100
commitc8c6f73674c9b1d6a35a8ef6d0bec9b5d216e443 (patch)
tree16eb8478be1acb294083a364af5d92bb4d7af23e /src/buildtool/serve_api/remote/source_tree_client.cpp
parent0cdd6595bae75e4c8a223bb9fe497ed1b0d42c31 (diff)
downloadjustbuild-c8c6f73674c9b1d6a35a8ef6d0bec9b5d216e443.tar.gz
just serve: Implement client-side ServeTree and extend serve API
Diffstat (limited to 'src/buildtool/serve_api/remote/source_tree_client.cpp')
-rw-r--r--src/buildtool/serve_api/remote/source_tree_client.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/buildtool/serve_api/remote/source_tree_client.cpp b/src/buildtool/serve_api/remote/source_tree_client.cpp
index e3cc0756..8f4d4960 100644
--- a/src/buildtool/serve_api/remote/source_tree_client.cpp
+++ b/src/buildtool/serve_api/remote/source_tree_client.cpp
@@ -142,3 +142,24 @@ auto SourceTreeClient::ServeContent(std::string const& content) -> bool {
}
return true;
}
+
+auto SourceTreeClient::ServeTree(std::string const& tree_id) -> bool {
+ justbuild::just_serve::ServeTreeRequest request{};
+ request.set_tree(tree_id);
+
+ grpc::ClientContext context;
+ justbuild::just_serve::ServeTreeResponse response;
+ grpc::Status status = stub_->ServeTree(&context, request, &response);
+
+ if (not status.ok()) {
+ LogStatus(&logger_, LogLevel::Debug, status);
+ return false;
+ }
+ if (response.status() != ::justbuild::just_serve::ServeTreeResponse::OK) {
+ logger_.Emit(LogLevel::Debug,
+ "ServeTree response returned with {}",
+ static_cast<int>(response.status()));
+ return false;
+ }
+ return true;
+}