diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2011-06-06 20:35:01 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2011-06-12 00:29:05 +0200 |
commit | 76d660ebd336d3dd47dd555ebbaa721a4cc978b2 (patch) | |
tree | ce40033b63b17ee2527795781885a76310d5fe0d /src/init.cpp | |
parent | e051f1b510c2a8da51c099c73d5750b9c8c9422b (diff) |
Faster timeout when connecting
Use non-blocking connects, and a select() call to wait a predefined
time (5s by default, but configurable with -timeout) for either
success or failure. This allows much more connections to be tried
per time unit.
Based on a patch by phantomcircuit.
Diffstat (limited to 'src/init.cpp')
-rw-r--r-- | src/init.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/init.cpp b/src/init.cpp index a510460191..0e2113e7cb 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -151,6 +151,7 @@ bool AppInit2(int argc, char* argv[]) " -gen=0 \t\t " + _("Don't generate coins\n") + " -min \t\t " + _("Start minimized\n") + " -datadir=<dir> \t\t " + _("Specify data directory\n") + + " -timeout=<n> \t " + _("Specify connection timeout (in milliseconds)\n") + " -proxy=<ip:port> \t " + _("Connect through socks4 proxy\n") + " -dns \t " + _("Allow DNS lookups for addnode and connect\n") + " -addnode=<ip> \t " + _("Add a node to connect to\n") + @@ -414,6 +415,13 @@ bool AppInit2(int argc, char* argv[]) return false; } + if (mapArgs.count("-timeout")) + { + int nNewTimeout = GetArg("-timeout", 5000); + if (nNewTimeout > 0 && nNewTimeout < 600000) + nConnectTimeout = nNewTimeout; + } + if (mapArgs.count("-printblock")) { string strMatch = mapArgs["-printblock"]; |