diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/compatibility/TARGETS | 4 | ||||
-rw-r--r-- | src/buildtool/compatibility/native_support.hpp | 65 | ||||
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp | 1 |
3 files changed, 1 insertions, 69 deletions
diff --git a/src/buildtool/compatibility/TARGETS b/src/buildtool/compatibility/TARGETS index 6c26fb48..e585efa6 100644 --- a/src/buildtool/compatibility/TARGETS +++ b/src/buildtool/compatibility/TARGETS @@ -1,13 +1,11 @@ { "compatibility": { "type": ["@", "rules", "CC", "library"] , "name": ["compatibility"] - , "hdrs": ["compatibility.hpp", "native_support.hpp"] + , "hdrs": ["compatibility.hpp"] , "deps": [ ["src/buildtool/crypto", "hash_function"] - , ["@", "gsl", "", "gsl"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] - , ["src/utils/cpp", "gsl"] ] , "stage": ["src", "buildtool", "compatibility"] } diff --git a/src/buildtool/compatibility/native_support.hpp b/src/buildtool/compatibility/native_support.hpp deleted file mode 100644 index 9890742e..00000000 --- a/src/buildtool/compatibility/native_support.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2022 Huawei Cloud Computing Technology Co., Ltd. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef INCLUDED_SRC_BUILDTOOL_COMPATIBILITY_NATIVE_SUPPORT_HPP -#define INCLUDED_SRC_BUILDTOOL_COMPATIBILITY_NATIVE_SUPPORT_HPP - -#include <cstddef> -#include <string> - -#include "gsl/gsl" -#include "src/buildtool/compatibility/compatibility.hpp" -#include "src/utils/cpp/gsl.hpp" - -/// \brief Helper functions to support the native remote-execution protocol. -class NativeSupport { - static constexpr std::size_t kTagLength = 2; - static constexpr std::size_t kTaggedLength = 42; - static constexpr auto kBlobTag = "62"; - static constexpr auto kTreeTag = "74"; - - public: - [[nodiscard]] static auto IsPrefixed(std::string const& hash) noexcept - -> bool { - if (Compatibility::IsCompatible()) { - return false; - } - return hash.length() == kTaggedLength; - } - - /// \brief Returns a prefixed hash in case of native remote-execution - /// protocol (0x62 in case of a blob, 0x74 in case of a tree). - [[nodiscard]] static auto Prefix(std::string const& hash, - bool is_tree) noexcept -> std::string { - if (Compatibility::IsCompatible()) { - return hash; - } - ExpectsAudit(not IsPrefixed(hash)); - return (is_tree ? kTreeTag : kBlobTag) + hash; - } - - [[nodiscard]] static auto Unprefix(std::string const& hash) noexcept - -> std::string { - if (Compatibility::IsCompatible()) { - return hash; - } - ExpectsAudit(IsPrefixed(hash)); - return hash.substr(kTagLength); - } - - [[nodiscard]] static auto IsTree(std::string const& hash) noexcept -> bool { - return IsPrefixed(hash) and hash.starts_with(kTreeTag); - } -}; -#endif // INCLUDED_SRC_BUILDTOOL_COMPATIBILITY_NATIVE_SUPPORT_HPP diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp index 4a8f7ab9..130012e7 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp @@ -28,7 +28,6 @@ #include "src/buildtool/common/remote/retry.hpp" #include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/compatibility/compatibility.hpp" -#include "src/buildtool/compatibility/native_support.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/common/execution_common.hpp" #include "src/buildtool/execution_api/common/message_limits.hpp" |