Noel Maersk
e4680ab627
core: allow changing TCP keepalive packet idle time using `tcp-keepalive` command-line option or config-file option.
...
This may be useful in certain scenarios. However, server load from keepalive
is increased 6-fold if code is hard-changed from 30 to 5. So, provide it as
an option instead, and use the previous value as a default (30).
Explanation from
015c064396
Kevin's middlecoin fix, CURL TCP keepalive constants lowered:
CURLOPT_TCP_KEEPIDLE from 45 to 5 and CURLOPT_TCP_KEEPINTVL from 30 to
5. Before it'd trigger a keepalive packet after 45 seconds of connection
idle time and then again every 30 seconds. Now it triggers a keepalive
packet after 5 seconds of connection idle time and then again every 5
seconds.
It makes the client more resilient against coin switching pools or just
pools with connection issues in general. It will however add a tiny bit
pressure to the pool server; but a TCP keepalive probe is only about
60-80 bytes, so I don't think it is an issue.
11 years ago
Con Kolivas
5d7c99f389
Revert "Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless."
...
This reverts commit 3dcae53e38
.
11 years ago
Con Kolivas
3dcae53e38
Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless.
11 years ago
Con Kolivas
759bd39f17
Avoid the extra generation of a byte flipped hash2 in struct work and directly use the LE work hash.
11 years ago
Con Kolivas
eaaf34a19d
Use a non blocking connect with a 1 second select timeout when initiating stratum to allow us to iterate over all IPs returned by getaddrinfo in round robin DNS pools.
11 years ago
Vitalii Demianets
f75fdbbbbe
Improve performance of work generation by optimizing hex2bin and bin2hex
...
sprintf is a very expensive function, do direct translation instead.
11 years ago
Con Kolivas
b424612cce
Use a sanity check on timeout on windows.
11 years ago
Vitalii Demianets
dee0192b8a
Improve performance of work generation by optimizing hex2bin and bin2hex
...
sprintf is a very expensive function, do direct translation instead.
11 years ago
Con Kolivas
d342bcbe81
Provide a mechanism for informing drivers of updated work templates for stratum and gbt mining.
11 years ago
Con Kolivas
8dcbc86b97
Use windows' own higher resolution time and handlers allowing us to have higher precision absolute timeouts.
11 years ago
Con Kolivas
563cad189e
Fix lldiv error in windows cgminer_t calculation.
11 years ago
Con Kolivas
3956382450
Send pthread_cancel to failed completion_timeout that has timed out.
11 years ago
ckolivas
7838af1dc1
Remove unused variables.
11 years ago
ckolivas
0430165f7b
Fix cgcompletion return code and free on successful completion.
11 years ago
ckolivas
f826e35765
Provide a cg_completion_timeout helper function for unreliable functions that takes arbitrary functions and parameters and reliably returns.
11 years ago
Con Kolivas
c9c39ac14d
Give correct return code in cgsem_mswait
11 years ago
Con Kolivas
6e948d8750
Check for correct timeout error in cgsem_mswait
11 years ago
Con Kolivas
c75ce853a9
Implement a generic cgsem_mswait similar to sem_timedwait
11 years ago
Con Kolivas
d3c215fda6
Provide a lower level __bin2hex function that does not allocate memory itself.
11 years ago
Con Kolivas
7fbe999fa2
Drop logging level for failed to connect to stratum to verbose mode only since we hit it regularly.
11 years ago
Con Kolivas
936fca4de9
Limit ms_tdiff to 1 hour as a sanity check.
11 years ago
Con Kolivas
97b5dd08b2
Limit ms_tdiff to 1 hour as a sanity check.
11 years ago
Con Kolivas
d5e9e08477
Prevent overflows in us_tdiff and ms_tdiff.
11 years ago
Con Kolivas
5eb1934110
Limit ms_tdiff to 1 hour as a sanity check.
11 years ago
Con Kolivas
2d1ba75e11
Prevent overflows in us_tdiff and ms_tdiff.
11 years ago
Con Kolivas
44b9cf50e3
Limit the duration we wait for reads in BF1 based on time already elapsed to account for other delays such as work restart messages or out of work.
11 years ago
Con Kolivas
466d3beca0
Provide a --disable-libcurl config option to build support for stratum mining only.
11 years ago
Con Kolivas
566a80f05b
Cast -1 to (char) to cope with different default char types on ARM.
11 years ago
Con Kolivas
f319d3b910
Use inet_addr instead of inet_network to fix windows build.
11 years ago
Con Kolivas
7570d885da
Remove unused pbase variable.
11 years ago
Con Kolivas
89c07fa5c7
Add support for socks4/4a proxies with stratum, and drop back to socks4 support via the global --socks-proxy command to not break previous configurations.
11 years ago
Con Kolivas
f652b1e291
Fix warning on mingw build.
11 years ago
Con Kolivas
e65df9932b
Fix warning on mingw build.
11 years ago
Con Kolivas
770556cdec
Use the --socks-proxy option with stratum, changing it to defaulting to socks5 and give appropriate message should it fail to connect.
11 years ago
Con Kolivas
ddbd3ab78e
Cope with trailing slashes in stratum urls.
11 years ago
ckolivas
55249db361
Add more debugging messages when negotiating with proxies for stratum.
11 years ago
ckolivas
a589de5a8b
Test specifically for socks5h in socks support for stratum.
11 years ago
Con Kolivas
d7003ecccf
Add support for socks5 proxy with stratum
11 years ago
Con Kolivas
17019804c1
Provide support for negotiating a stratum connection via http proxies.
11 years ago
Con Kolivas
8fa01556f2
Connect to the proxy URL and port if specified for stratum sockets instead of the pool directly.
11 years ago
Con Kolivas
b783d94c6d
Extract any proxy url and port to be used by sockaddr if possible using extract_sockaddr.
11 years ago
Con Kolivas
8ede407df7
Make extract_sockaddr set variables passed to it rather than pool struct members.
11 years ago
Con Kolivas
83b5f62474
Don't decref json values in stratum parsing due to memory corruption.
11 years ago
Con Kolivas
bec40c5b68
Provide base structures for getaddrinfo.
11 years ago
Con Kolivas
c9c61e72c8
Fix win32 build.
11 years ago
Con Kolivas
036c7b73f1
Fix OSX build.
11 years ago
Con Kolivas
79ca14f5e8
Provide an osx fix for cgtimers and a fallback to timevals for all other platforms !linux !win32 !osx.
11 years ago
Con Kolivas
f009347e39
Move two more timer functions out of define macros to enable them to be used by future osx code.
11 years ago
Con Kolivas
ec881c41a4
cgtimer_sub is now the same since cgtimer_t should be the same on all platforms.
11 years ago
Con Kolivas
e1433f8ef8
Use timespecs on windows as cgtimer_t to capitalise on the higher resolution clock changes.
11 years ago