summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api/serve_service/source_tree.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/serve_api/serve_service/source_tree.hpp')
-rw-r--r--src/buildtool/serve_api/serve_service/source_tree.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/buildtool/serve_api/serve_service/source_tree.hpp b/src/buildtool/serve_api/serve_service/source_tree.hpp
index 0f58a0a9..ea93cb54 100644
--- a/src/buildtool/serve_api/serve_service/source_tree.hpp
+++ b/src/buildtool/serve_api/serve_service/source_tree.hpp
@@ -59,6 +59,8 @@ class SourceTreeService final
::justbuild::just_serve::CheckRootTreeResponse;
using GetRemoteTreeResponse =
::justbuild::just_serve::GetRemoteTreeResponse;
+ using ComputeTreeStructureResponse =
+ ::justbuild::just_serve::ComputeTreeStructureResponse;
explicit SourceTreeService(
gsl::not_null<RemoteServeConfig const*> const& serve_config,
@@ -133,6 +135,15 @@ class SourceTreeService final
const ::justbuild::just_serve::GetRemoteTreeRequest* request,
GetRemoteTreeResponse* response) -> ::grpc::Status override;
+ // Compute the tree structure of the given tree and return the Git tree
+ // identifier of the resulting structure.
+ //
+ // There are no method-specific errors.
+ auto ComputeTreeStructure(
+ ::grpc::ServerContext* context,
+ const ::justbuild::just_serve::ComputeTreeStructureRequest* request,
+ ComputeTreeStructureResponse* response) -> ::grpc::Status override;
+
private:
RemoteServeConfig const& serve_config_;
ApiBundle const& apis_;