summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-03-13 12:22:06 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-03-13 12:22:06 -0700
commit37629aaf87c300ee5f9a56ecbbcdc1c4bb7db97f (patch)
tree4cc68cd1371cca70989f7575f70b18ae61bfe20b
parentd09d193715646ecad050d7f6d3d23ae7963831d6 (diff)
downloadinfinitytier-37629aaf87c300ee5f9a56ecbbcdc1c4bb7db97f.tar.gz
infinitytier-37629aaf87c300ee5f9a56ecbbcdc1c4bb7db97f.zip
Use cache on requests to decrease DB load.
-rw-r--r--controller/EmbeddedNetworkController.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp
index b731db83..6fc5ba20 100644
--- a/controller/EmbeddedNetworkController.cpp
+++ b/controller/EmbeddedNetworkController.cpp
@@ -61,6 +61,9 @@ using json = nlohmann::json;
// Nodes are considered active if they've queried in less than this long
#define ZT_NETCONF_NODE_ACTIVE_THRESHOLD (ZT_NETWORK_AUTOCONF_DELAY * 2)
+// Timeout for disk read cache (ms)
+#define ZT_NETCONF_DB_CACHE_TTL 5000
+
namespace ZeroTier {
static json _renderRule(ZT_VirtualNetworkRule &rule)
@@ -1244,8 +1247,8 @@ void EmbeddedNetworkController::_request(
json member;
{
Mutex::Lock _l(_db_m);
- network = _db.get("network",nwids,0);
- member = _db.get("network",nwids,"member",identity.address().toString(),0);
+ network = _db.get("network",nwids,ZT_NETCONF_DB_CACHE_TTL);
+ member = _db.get("network",nwids,"member",identity.address().toString(),ZT_NETCONF_DB_CACHE_TTL);
}
if (!network.size()) {