aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-04-09 11:55:36 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-04-09 11:55:36 +0200
commitc1f04fae350acf9d72c56ef4f83037b479f25ab0 (patch)
treea6f257952e49bf4077efc0a81adf5e21cfef41ac /src/libstore
parent60340ce3e2f793caf1704997a4d7a5a066e9ef24 (diff)
Implement a TTL on cached fetchurl/fetchTarball results
This is because we don't want to do HTTP requests on every evaluation, even though we can prevent a full redownload via the cached ETag. The default is one hour.
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/globals.cc8
-rw-r--r--src/libstore/globals.hh2
2 files changed, 10 insertions, 0 deletions
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
index e382b3aac..f900fb290 100644
--- a/src/libstore/globals.cc
+++ b/src/libstore/globals.cc
@@ -143,6 +143,14 @@ bool Settings::get(const string & name, bool def)
}
+int Settings::get(const string & name, int def)
+{
+ int res = def;
+ _get(res, name);
+ return res;
+}
+
+
void Settings::update()
{
_get(tryFallback, "build-fallback");
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
index 0230a540e..0a1072e36 100644
--- a/src/libstore/globals.hh
+++ b/src/libstore/globals.hh
@@ -27,6 +27,8 @@ struct Settings {
bool get(const string & name, bool def);
+ int get(const string & name, int def);
+
void update();
string pack();