diff options
| author | Pieter Wuille <[email protected]> | 2011-06-06 20:35:01 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2011-06-12 00:29:05 +0200 |
| commit | 76d660ebd336d3dd47dd555ebbaa721a4cc978b2 (patch) | |
| tree | ce40033b63b17ee2527795781885a76310d5fe0d /src/init.cpp | |
| parent | Merge pull request #312 from codler/patch-1 (diff) | |
| download | discoin-76d660ebd336d3dd47dd555ebbaa721a4cc978b2.tar.xz discoin-76d660ebd336d3dd47dd555ebbaa721a4cc978b2.zip | |
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 a51046019..0e2113e7c 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"]; |