diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-09-07T17·01-0400 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-09-14T21·38+0000 |
commit | 381ce8a66658ac9d02c44e96c860cd05bcb6a5f8 (patch) | |
tree | e475adb3f06e4bfa55af5ced0c16f9591734544d /third_party/nix/src/libstore/legacy-ssh-store.cc | |
parent | 31b06516f315241c40ae0e6c3dd9dc7e641ea8dc (diff) |
refactor(tvix): Make static strings constexpr string_views r/1791
Make all static std::strings constexpr std::string_views, and replace concatenation with absl::StrCat where necessary. Technically all of these are constant, so they really don't need to be top-level statics - and since I'm trying to get rid of as much global state as possible in preparation for making the nix daemon properly multithreaded I figured I'd knock these out while I was at it. Change-Id: Ibd3ad9ef68f0a0eacb135541b39fdb13dae042e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1939 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'third_party/nix/src/libstore/legacy-ssh-store.cc')
-rw-r--r-- | third_party/nix/src/libstore/legacy-ssh-store.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/third_party/nix/src/libstore/legacy-ssh-store.cc b/third_party/nix/src/libstore/legacy-ssh-store.cc index 343801870a96..19603115a81c 100644 --- a/third_party/nix/src/libstore/legacy-ssh-store.cc +++ b/third_party/nix/src/libstore/legacy-ssh-store.cc @@ -1,3 +1,5 @@ +#include <absl/strings/match.h> +#include <absl/strings/str_cat.h> #include <glog/logging.h> #include "libstore/derivations.hh" @@ -11,7 +13,7 @@ namespace nix { -static std::string uriScheme = "ssh://"; +constexpr std::string_view kUriScheme = "ssh://"; struct LegacySSHStore : public Store { const Setting<int> maxConnections{ @@ -86,7 +88,7 @@ struct LegacySSHStore : public Store { return conn; }; - std::string getUri() override { return uriScheme + host; } + std::string getUri() override { return absl::StrCat(kUriScheme, host); } void queryPathInfoUncached( const Path& path, @@ -269,11 +271,11 @@ struct LegacySSHStore : public Store { static RegisterStoreImplementation regStore( [](const std::string& uri, const Store::Params& params) -> std::shared_ptr<Store> { - if (std::string(uri, 0, uriScheme.size()) != uriScheme) { + if (!absl::StartsWith(uri, kUriScheme)) { return nullptr; } return std::make_shared<LegacySSHStore>( - std::string(uri, uriScheme.size()), params); + std::string(uri, kUriScheme.size()), params); }); } // namespace nix |