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/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/ssh-store.cc')
-rw-r--r-- | third_party/nix/src/libstore/ssh-store.cc | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/third_party/nix/src/libstore/ssh-store.cc b/third_party/nix/src/libstore/ssh-store.cc index 48fea858a393..96adb3660d42 100644 --- a/third_party/nix/src/libstore/ssh-store.cc +++ b/third_party/nix/src/libstore/ssh-store.cc @@ -1,3 +1,5 @@ +#include <absl/strings/str_cat.h> + #include "libstore/remote-fs-accessor.hh" #include "libstore/remote-store.hh" #include "libstore/ssh.hh" @@ -8,7 +10,7 @@ namespace nix { -static std::string uriScheme = "ssh-ng://"; +constexpr std::string_view kUriScheme = "ssh-ng://"; class SSHStore : public RemoteStore { public: @@ -25,7 +27,7 @@ class SSHStore : public RemoteStore { // Use SSH master only if using more than 1 connection. connections->capacity() > 1, compress) {} - std::string getUri() override { return uriScheme + host; } + std::string getUri() override { return absl::StrCat(kUriScheme, host); } bool sameMachine() override { return false; } @@ -74,13 +76,14 @@ ref<RemoteStore::Connection> SSHStore::openConnection() { return conn; } -static RegisterStoreImplementation regStore([](const std::string& uri, - const Store::Params& params) - -> std::shared_ptr<Store> { - if (std::string(uri, 0, uriScheme.size()) != uriScheme) { - return nullptr; - } - return std::make_shared<SSHStore>(std::string(uri, uriScheme.size()), params); -}); +static RegisterStoreImplementation regStore( + [](const std::string& uri, + const Store::Params& params) -> std::shared_ptr<Store> { + if (std::string(uri, 0, kUriScheme.size()) != kUriScheme) { + return nullptr; + } + return std::make_shared<SSHStore>(std::string(uri, kUriScheme.size()), + params); + }); } // namespace nix |