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-11-20 14:16:37 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-11-21 10:21:29 +0100
commit37968f38e8dc07a27941c52204692c6f3254c22a (patch)
tree984c0d9d6ca417dc74d6e651aad0ea59505364a3 /src/buildtool/serve_api/remote/source_tree_client.cpp
parent5fee8034265676b903618d19a7d7d65bb8d4b023 (diff)
downloadjustbuild-37968f38e8dc07a27941c52204692c6f3254c22a.tar.gz
just serve: Implement client-side ServeContent 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.cpp22
1 files changed, 22 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 a2ff930f..e3cc0756 100644
--- a/src/buildtool/serve_api/remote/source_tree_client.cpp
+++ b/src/buildtool/serve_api/remote/source_tree_client.cpp
@@ -120,3 +120,25 @@ auto SourceTreeClient::ServeArchiveTree(
}
return response.tree();
}
+
+auto SourceTreeClient::ServeContent(std::string const& content) -> bool {
+ justbuild::just_serve::ServeContentRequest request{};
+ request.set_content(content);
+
+ grpc::ClientContext context;
+ justbuild::just_serve::ServeContentResponse response;
+ grpc::Status status = stub_->ServeContent(&context, request, &response);
+
+ if (not status.ok()) {
+ LogStatus(&logger_, LogLevel::Debug, status);
+ return false;
+ }
+ if (response.status() !=
+ ::justbuild::just_serve::ServeContentResponse::OK) {
+ logger_.Emit(LogLevel::Debug,
+ "ServeContent response returned with {}",
+ static_cast<int>(response.status()));
+ return false;
+ }
+ return true;
+}