about summary refs log tree commit diff
path: root/third_party/nix/src/libstore/ssh-store.cc
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2020-09-07T17·01-0400
committerglittershark <grfn@gws.fyi>2020-09-14T21·38+0000
commit381ce8a66658ac9d02c44e96c860cd05bcb6a5f8 (patch)
treee475adb3f06e4bfa55af5ced0c16f9591734544d /third_party/nix/src/libstore/ssh-store.cc
parent31b06516f315241c40ae0e6c3dd9dc7e641ea8dc (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.cc23
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