diff options
-rw-r--r-- | src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp | 4 | ||||
-rw-r--r-- | src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/TARGETS | 10 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/just_serve.proto | 30 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/serve_server_implementation.cpp | 6 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/source_tree.cpp (renamed from src/buildtool/serve_api/serve_service/target_level_cache_server.cpp) | 27 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/source_tree.hpp (renamed from src/buildtool/serve_api/serve_service/target_level_cache_server.hpp) | 10 |
7 files changed, 45 insertions, 44 deletions
diff --git a/src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp b/src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp index 3109d4d9..b414b7ac 100644 --- a/src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp +++ b/src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp @@ -19,7 +19,7 @@ ServeTargetLevelCacheClient::ServeTargetLevelCacheClient( std::string const& server, Port port) noexcept { - stub_ = justbuild::just_serve::TargetLevelCache::NewStub( + stub_ = justbuild::just_serve::SourceTree::NewStub( CreateChannelWithCredentials(server, port)); } @@ -41,7 +41,7 @@ auto ServeTargetLevelCacheClient::ServeCommitTree(std::string const& commit_id, return std::nullopt; } if (response.status() != - ::justbuild::just_serve::ServeCommitTreeStatus::OK) { + ::justbuild::just_serve::ServeCommitTreeResponse::OK) { logger_.Emit(LogLevel::Debug, "ServeCommitTree response returned with {}", static_cast<int>(response.status())); diff --git a/src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp b/src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp index a9b2a3d2..551759cb 100644 --- a/src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp +++ b/src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp @@ -39,7 +39,7 @@ class ServeTargetLevelCacheClient { -> std::optional<std::string>; private: - std::unique_ptr<justbuild::just_serve::TargetLevelCache::Stub> stub_; + std::unique_ptr<justbuild::just_serve::SourceTree::Stub> stub_; Logger logger_{"RemoteTLCClient"}; }; diff --git a/src/buildtool/serve_api/serve_service/TARGETS b/src/buildtool/serve_api/serve_service/TARGETS index ba2b09e3..ec94ee76 100644 --- a/src/buildtool/serve_api/serve_service/TARGETS +++ b/src/buildtool/serve_api/serve_service/TARGETS @@ -6,11 +6,11 @@ , "deps": [["@", "bazel_remote_apis", "", "remote_execution_proto"]] , "stage": ["justbuild", "just_serve"] } -, "target_level_cache_server": +, "source_tree": { "type": ["@", "rules", "CC", "library"] - , "name": ["target_level_cache_server"] - , "hdrs": ["target_level_cache_server.hpp"] - , "srcs": ["target_level_cache_server.cpp"] + , "name": ["source_tree"] + , "hdrs": ["source_tree.hpp"] + , "srcs": ["source_tree.cpp"] , "proto": ["just_serve_proto"] , "deps": [ ["src/buildtool/logging", "logging"] @@ -37,7 +37,7 @@ , "deps": [["src/buildtool/logging", "logging"]] , "stage": ["src", "buildtool", "serve_api", "serve_service"] , "private-deps": - [ "target_level_cache_server" + [ "source_tree" , ["@", "fmt", "", "fmt"] , ["@", "grpc", "", "grpc++"] , ["@", "json", "", "json"] diff --git a/src/buildtool/serve_api/serve_service/just_serve.proto b/src/buildtool/serve_api/serve_service/just_serve.proto index c20f77aa..d798fd76 100644 --- a/src/buildtool/serve_api/serve_service/just_serve.proto +++ b/src/buildtool/serve_api/serve_service/just_serve.proto @@ -30,20 +30,6 @@ message ServeCommitTreeRequest { bool sync_tree = 3; } -enum ServeCommitTreeStatus{ - // All good - OK = 0; - - // Failed to upload tree remotely - SYNC_ERROR = 1; - - // Tree not found - NOT_FOUND = 2; - - // Internaly, something is very broken - INTERNAL_ERROR = 3; -} - // A response message for // [TargetLevelCache.ServeCommitTree][justbuild.just_serve.TargetLevelCache.ServeCommitTree]. @@ -51,13 +37,27 @@ message ServeCommitTreeResponse { // The requested Git tree hash. string tree = 1; + enum ServeCommitTreeStatus{ + // All good + OK = 0; + + // Failed to upload tree remotely + SYNC_ERROR = 1; + + // Tree not found + NOT_FOUND = 2; + + // Internaly, something is very broken + INTERNAL_ERROR = 3; + } + // If the status has a code `OK` or `SYNC_ERROR`, the tree is correct. // For any other value, the `tree` field is not set. ServeCommitTreeStatus status = 2; } // Services for improved interaction with the target-level cache. -service TargetLevelCache { +service SourceTree { // Retrieve the Git-subtree identifier from a given Git commit. // // There are no method-specific errors. diff --git a/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp b/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp index 1a83e467..f1113cdd 100644 --- a/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp +++ b/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp @@ -28,7 +28,7 @@ #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/file_system/git_repo.hpp" #include "src/buildtool/logging/logger.hpp" -#include "src/buildtool/serve_api/serve_service/target_level_cache_server.hpp" +#include "src/buildtool/serve_api/serve_service/source_tree.hpp" #include "src/buildtool/storage/config.hpp" namespace { @@ -47,11 +47,11 @@ auto TryWrite(std::string const& file, T const& content) noexcept -> bool { } // namespace auto ServeServerImpl::Run() -> bool { - TargetLevelCacheService tlc{}; + SourceTreeService sts{}; grpc::ServerBuilder builder; - builder.RegisterService(&tlc); + builder.RegisterService(&sts); std::shared_ptr<grpc::ServerCredentials> creds; if (Auth::GetAuthMethod() == AuthMethod::kTLS) { diff --git a/src/buildtool/serve_api/serve_service/target_level_cache_server.cpp b/src/buildtool/serve_api/serve_service/source_tree.cpp index e0451c63..8d91c2f5 100644 --- a/src/buildtool/serve_api/serve_service/target_level_cache_server.cpp +++ b/src/buildtool/serve_api/serve_service/source_tree.cpp @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "src/buildtool/serve_api/serve_service/target_level_cache_server.hpp" +#include "src/buildtool/serve_api/serve_service/source_tree.hpp" #include "fmt/core.h" #include "src/buildtool/common/artifact.hpp" @@ -24,7 +24,7 @@ #include "src/buildtool/serve_api/remote/config.hpp" #include "src/buildtool/storage/config.hpp" -auto TargetLevelCacheService::CreateExecutionApi( +auto SourceTreeService::CreateExecutionApi( std::optional<RemoteExecutionConfig::ServerAddress> const& address) -> gsl::not_null<IExecutionApi::Ptr> { if (address) { @@ -37,7 +37,7 @@ auto TargetLevelCacheService::CreateExecutionApi( return std::make_unique<LocalApi>(); } -auto TargetLevelCacheService::GetTreeFromCommit( +auto SourceTreeService::GetTreeFromCommit( std::filesystem::path const& repo_path, std::string const& commit, std::string const& subdir, @@ -66,13 +66,13 @@ auto TargetLevelCacheService::GetTreeFromCommit( return std::nullopt; } -auto TargetLevelCacheService::ServeCommitTree( +auto SourceTreeService::ServeCommitTree( ::grpc::ServerContext* /* context */, const ::justbuild::just_serve::ServeCommitTreeRequest* request, ::justbuild::just_serve::ServeCommitTreeResponse* response) -> ::grpc::Status { - using ServeCommitTreeStatus = - ::justbuild::just_serve::ServeCommitTreeStatus; + using ServeCommitTreeResponse = + ::justbuild::just_serve::ServeCommitTreeResponse; auto const& commit{request->commit()}; auto const& subdir{request->subdir()}; // try in local build root Git cache @@ -86,7 +86,7 @@ auto TargetLevelCacheService::ServeCommitTree( auto str = fmt::format("Failed to SetGitCAS at {}", StorageConfig::GitRoot().string()); logger_->Emit(LogLevel::Debug, str); - response->set_status(ServeCommitTreeStatus::INTERNAL_ERROR); + response->set_status(ServeCommitTreeResponse::INTERNAL_ERROR); return ::grpc::Status::OK; } auto git_api = GitApi{&repo}; @@ -97,13 +97,13 @@ auto TargetLevelCacheService::ServeCommitTree( auto str = fmt::format("Failed to sync tree {}", *tree_id); logger_->Emit(LogLevel::Debug, str); *(response->mutable_tree()) = std::move(*tree_id); - response->set_status(ServeCommitTreeStatus::SYNC_ERROR); + response->set_status(ServeCommitTreeResponse::SYNC_ERROR); return ::grpc::Status::OK; } } // set response *(response->mutable_tree()) = std::move(*tree_id); - response->set_status(ServeCommitTreeStatus::OK); + response->set_status(ServeCommitTreeResponse::OK); return ::grpc::Status::OK; } // try given extra repositories, in order @@ -118,7 +118,8 @@ auto TargetLevelCacheService::ServeCommitTree( auto str = fmt::format("Failed to SetGitCAS at {}", path.string()); logger_->Emit(LogLevel::Debug, str); - response->set_status(ServeCommitTreeStatus::INTERNAL_ERROR); + response->set_status( + ServeCommitTreeResponse::INTERNAL_ERROR); return ::grpc::Status::OK; } auto git_api = GitApi{&repo}; @@ -129,16 +130,16 @@ auto TargetLevelCacheService::ServeCommitTree( auto str = fmt::format("Failed to sync tree {}", *tree_id); logger_->Emit(LogLevel::Debug, str); *(response->mutable_tree()) = std::move(*tree_id); - response->set_status(ServeCommitTreeStatus::SYNC_ERROR); + response->set_status(ServeCommitTreeResponse::SYNC_ERROR); } } // set response *(response->mutable_tree()) = std::move(*tree_id); - response->set_status(ServeCommitTreeStatus::OK); + response->set_status(ServeCommitTreeResponse::OK); return ::grpc::Status::OK; } } // commit not found - response->set_status(ServeCommitTreeStatus::NOT_FOUND); + response->set_status(ServeCommitTreeResponse::NOT_FOUND); return ::grpc::Status::OK; } diff --git a/src/buildtool/serve_api/serve_service/target_level_cache_server.hpp b/src/buildtool/serve_api/serve_service/source_tree.hpp index 826d4031..a1599508 100644 --- a/src/buildtool/serve_api/serve_service/target_level_cache_server.hpp +++ b/src/buildtool/serve_api/serve_service/source_tree.hpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef TARGET_LEVEL_CACHE_SERVER_HPP -#define TARGET_LEVEL_CACHE_SERVER_HPP +#ifndef INCLUDED_SRC_BUILDTOOL_SERVE_API_SERVE_SERVICE_SOURCE_TREE_HPP +#define INCLUDED_SRC_BUILDTOOL_SERVE_API_SERVE_SERVICE_SOURCE_TREE_HPP #include <filesystem> #include <memory> @@ -27,8 +27,8 @@ #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/logging/logger.hpp" -class TargetLevelCacheService final - : public justbuild::just_serve::TargetLevelCache::Service { +class SourceTreeService final + : public justbuild::just_serve::SourceTree::Service { public: // Retrieve the tree of a commit. @@ -67,4 +67,4 @@ class TargetLevelCacheService final std::shared_ptr<Logger> const& logger) -> std::optional<std::string>; }; -#endif // TARGET_LEVEL_CACHE_SERVER_HPP +#endif |