summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-09-25 18:54:16 +0200
committerEelco Dolstra <edolstra@gmail.com>2019-10-29 13:53:04 +0100
commite5319a87ce75bbd2dd88f57c3b470a396195e849 (patch)
tree9a454bba8f8fa7ae17d4fc90c9cf0f62cba49e39 /src
parent992a2ad4757f43c02f3d06771c632a408d90ded0 (diff)
queryPathInfoUncached(): Return const ValidPathInfo
Diffstat (limited to 'src')
-rw-r--r--src/libstore/binary-cache-store.cc2
-rw-r--r--src/libstore/binary-cache-store.hh2
-rw-r--r--src/libstore/legacy-ssh-store.cc2
-rw-r--r--src/libstore/local-store.cc2
-rw-r--r--src/libstore/local-store.hh2
-rw-r--r--src/libstore/misc.cc2
-rw-r--r--src/libstore/nar-info-disk-cache.cc4
-rw-r--r--src/libstore/nar-info-disk-cache.hh2
-rw-r--r--src/libstore/remote-store.cc2
-rw-r--r--src/libstore/remote-store.hh2
-rw-r--r--src/libstore/store-api.cc16
-rw-r--r--src/libstore/store-api.hh6
12 files changed, 22 insertions, 22 deletions
diff --git a/src/libstore/binary-cache-store.cc b/src/libstore/binary-cache-store.cc
index 8e6f1f55d..7e3e5ff88 100644
--- a/src/libstore/binary-cache-store.cc
+++ b/src/libstore/binary-cache-store.cc
@@ -296,7 +296,7 @@ void BinaryCacheStore::narFromPath(const Path & storePath, Sink & sink)
}
void BinaryCacheStore::queryPathInfoUncached(const Path & storePath,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept
{
auto uri = getUri();
auto act = std::make_shared<Activity>(*logger, lvlTalkative, actQueryPathInfo,
diff --git a/src/libstore/binary-cache-store.hh b/src/libstore/binary-cache-store.hh
index c77292294..2d7cd1947 100644
--- a/src/libstore/binary-cache-store.hh
+++ b/src/libstore/binary-cache-store.hh
@@ -74,7 +74,7 @@ public:
bool isValidPathUncached(const Path & path) override;
void queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept override;
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept override;
Path queryPathFromHashPart(const string & hashPart) override
{ unsupported("queryPathFromHashPart"); }
diff --git a/src/libstore/legacy-ssh-store.cc b/src/libstore/legacy-ssh-store.cc
index d5fbdd25a..1b8b5908c 100644
--- a/src/libstore/legacy-ssh-store.cc
+++ b/src/libstore/legacy-ssh-store.cc
@@ -88,7 +88,7 @@ struct LegacySSHStore : public Store
}
void queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept override
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept override
{
try {
auto conn(connections->get());
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 49061f27d..6bbe5433c 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -632,7 +632,7 @@ uint64_t LocalStore::addValidPath(State & state,
void LocalStore::queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept
{
try {
auto info = std::make_shared<ValidPathInfo>();
diff --git a/src/libstore/local-store.hh b/src/libstore/local-store.hh
index 77253fa4a..5aa6b0519 100644
--- a/src/libstore/local-store.hh
+++ b/src/libstore/local-store.hh
@@ -127,7 +127,7 @@ public:
PathSet queryAllValidPaths() override;
void queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept override;
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept override;
void queryReferrers(const Path & path, PathSet & referrers) override;
diff --git a/src/libstore/misc.cc b/src/libstore/misc.cc
index 05b93d4c9..2fceb9b9a 100644
--- a/src/libstore/misc.cc
+++ b/src/libstore/misc.cc
@@ -33,7 +33,7 @@ void Store::computeFSClosure(const PathSet & startPaths,
state->pending++;
}
- queryPathInfo(path, {[&, path](std::future<ref<ValidPathInfo>> fut) {
+ queryPathInfo(path, {[&, path](std::future<ref<const ValidPathInfo>> fut) {
// FIXME: calls to isValidPath() should be async
try {
diff --git a/src/libstore/nar-info-disk-cache.cc b/src/libstore/nar-info-disk-cache.cc
index 32ad7f2b2..5bf982195 100644
--- a/src/libstore/nar-info-disk-cache.cc
+++ b/src/libstore/nar-info-disk-cache.cc
@@ -219,7 +219,7 @@ public:
void upsertNarInfo(
const std::string & uri, const std::string & hashPart,
- std::shared_ptr<ValidPathInfo> info) override
+ std::shared_ptr<const ValidPathInfo> info) override
{
retrySQLite<void>([&]() {
auto state(_state.lock());
@@ -228,7 +228,7 @@ public:
if (info) {
- auto narInfo = std::dynamic_pointer_cast<NarInfo>(info);
+ auto narInfo = std::dynamic_pointer_cast<const NarInfo>(info);
assert(hashPart == storePathToHash(info->path));
diff --git a/src/libstore/nar-info-disk-cache.hh b/src/libstore/nar-info-disk-cache.hh
index 88d909732..11e6c55ca 100644
--- a/src/libstore/nar-info-disk-cache.hh
+++ b/src/libstore/nar-info-disk-cache.hh
@@ -21,7 +21,7 @@ public:
virtual void upsertNarInfo(
const std::string & uri, const std::string & hashPart,
- std::shared_ptr<ValidPathInfo> info) = 0;
+ std::shared_ptr<const ValidPathInfo> info) = 0;
};
/* Return a singleton cache object that can be used concurrently by
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
index f34369d8f..2a89b7c98 100644
--- a/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -350,7 +350,7 @@ void RemoteStore::querySubstitutablePathInfos(const PathSet & paths,
void RemoteStore::queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept
{
try {
std::shared_ptr<ValidPathInfo> info;
diff --git a/src/libstore/remote-store.hh b/src/libstore/remote-store.hh
index 1f375dd71..84de4c460 100644
--- a/src/libstore/remote-store.hh
+++ b/src/libstore/remote-store.hh
@@ -43,7 +43,7 @@ public:
PathSet queryAllValidPaths() override;
void queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept override;
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept override;
void queryReferrers(const Path & path, PathSet & referrers) override;
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index 1a1b24e3b..54430d3ba 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -320,10 +320,10 @@ bool Store::isValidPathUncached(const Path & path)
ref<const ValidPathInfo> Store::queryPathInfo(const Path & storePath)
{
- std::promise<ref<ValidPathInfo>> promise;
+ std::promise<ref<const ValidPathInfo>> promise;
queryPathInfo(storePath,
- {[&](std::future<ref<ValidPathInfo>> result) {
+ {[&](std::future<ref<const ValidPathInfo>> result) {
try {
promise.set_value(result.get());
} catch (...) {
@@ -336,7 +336,7 @@ ref<const ValidPathInfo> Store::queryPathInfo(const Path & storePath)
void Store::queryPathInfo(const Path & storePath,
- Callback<ref<ValidPathInfo>> callback) noexcept
+ Callback<ref<const ValidPathInfo>> callback) noexcept
{
std::string hashPart;
@@ -351,7 +351,7 @@ void Store::queryPathInfo(const Path & storePath,
stats.narInfoReadAverted++;
if (!*res)
throw InvalidPath(format("path '%s' is not valid") % storePath);
- return callback(ref<ValidPathInfo>(*res));
+ return callback(ref<const ValidPathInfo>(*res));
}
}
@@ -367,7 +367,7 @@ void Store::queryPathInfo(const Path & storePath,
(res.second->path != storePath && storePathToName(storePath) != ""))
throw InvalidPath(format("path '%s' is not valid") % storePath);
}
- return callback(ref<ValidPathInfo>(res.second));
+ return callback(ref<const ValidPathInfo>(res.second));
}
}
@@ -376,7 +376,7 @@ void Store::queryPathInfo(const Path & storePath,
auto callbackPtr = std::make_shared<decltype(callback)>(std::move(callback));
queryPathInfoUncached(storePath,
- {[this, storePath, hashPart, callbackPtr](std::future<std::shared_ptr<ValidPathInfo>> fut) {
+ {[this, storePath, hashPart, callbackPtr](std::future<std::shared_ptr<const ValidPathInfo>> fut) {
try {
auto info = fut.get();
@@ -396,7 +396,7 @@ void Store::queryPathInfo(const Path & storePath,
throw InvalidPath("path '%s' is not valid", storePath);
}
- (*callbackPtr)(ref<ValidPathInfo>(info));
+ (*callbackPtr)(ref<const ValidPathInfo>(info));
} catch (...) { callbackPtr->rethrow(); }
}});
}
@@ -418,7 +418,7 @@ PathSet Store::queryValidPaths(const PathSet & paths, SubstituteFlag maybeSubsti
auto doQuery = [&](const Path & path ) {
checkInterrupt();
- queryPathInfo(path, {[path, &state_, &wakeup](std::future<ref<ValidPathInfo>> fut) {
+ queryPathInfo(path, {[path, &state_, &wakeup](std::future<ref<const ValidPathInfo>> fut) {
auto state(state_.lock());
try {
auto info = fut.get();
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index 115b23cbf..e9e6e0dd2 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -258,7 +258,7 @@ protected:
struct State
{
- LRUCache<std::string, std::shared_ptr<ValidPathInfo>> pathInfoCache;
+ LRUCache<std::string, std::shared_ptr<const ValidPathInfo>> pathInfoCache;
};
Sync<State> state;
@@ -361,12 +361,12 @@ public:
/* Asynchronous version of queryPathInfo(). */
void queryPathInfo(const Path & path,
- Callback<ref<ValidPathInfo>> callback) noexcept;
+ Callback<ref<const ValidPathInfo>> callback) noexcept;
protected:
virtual void queryPathInfoUncached(const Path & path,
- Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept = 0;
+ Callback<std::shared_ptr<const ValidPathInfo>> callback) noexcept = 0;
public: