Con Kolivas
|
b423fe9de8
|
Cache the hex2bin of pool nonce1 in stratum, avoiding hex2bin on each work generation.
|
2013-08-11 14:06:17 +10:00 |
|
Con Kolivas
|
fef649dfef
|
Cache the binary generation of coinbase1 and 2 on stratum, avoiding a hex2bin of coinbase1 and 2 on each work generation.
|
2013-08-11 13:47:46 +10:00 |
|
Kano
|
48d91c7f2d
|
cgsem - increase information on failure
|
2013-08-10 10:36:38 +10:00 |
|
ckolivas
|
eb9278ca53
|
Check for negative wait time in socket_full.
|
2013-07-19 19:32:57 +10:00 |
|
ckolivas
|
f2ae7fadb2
|
Adjust socket wait timeout in recv_line according to how long we've already waited to avoid a 60 second wait dropping to 1 second due to a blocked socket.
|
2013-07-19 19:09:23 +10:00 |
|
Con Kolivas
|
1b5ea442b8
|
Show an integer only for diff if it is one.
|
2013-06-21 18:02:38 +10:00 |
|
Con Kolivas
|
6560878e03
|
Suspend stratum connections when we know they've failed and don't try to recv data from them once the socket no longer exists.
|
2013-06-16 22:33:49 +10:00 |
|
Con Kolivas
|
13a4aaa61a
|
Failure to read and write on pseudo semaphores on apple happens routinely on shut down so should not be a quit error, just a warning.
|
2013-06-13 14:31:37 +10:00 |
|
Con Kolivas
|
12a2cb0d3c
|
Demote failed hex2bin result to LOG_INFO and check return result in driver-bflsc to avoid doing find_work_by_midstate.
|
2013-06-09 22:37:49 +10:00 |
|
ckolivas
|
9b2e517f30
|
Use cgsem structures instead of the flaky pings in the work queue to start mining threads and remove the unused thr_info_freeze function.
|
2013-06-09 12:20:04 +10:00 |
|
ckolivas
|
104b14ec7f
|
Failed reads and writes on cgsem_post and cgsem_wait should be extremely rare.
|
2013-06-06 13:22:12 +10:00 |
|
ckolivas
|
b59c33800b
|
Implement cgminer specific cgsem semaphores to imitate unnamed semaphore behaviour on osx which does not support them.
|
2013-06-06 13:08:00 +10:00 |
|
Con Kolivas
|
d52ab244ee
|
Provide an nusleep equivalent function to nmsleep.
|
2013-05-28 23:00:14 +10:00 |
|
Con Kolivas
|
64b08f383b
|
All stratum calls to recv_line are serialised from the one place so there is no need to use locking around recv().
|
2013-05-19 10:23:59 +10:00 |
|
Con Kolivas
|
f227515e38
|
Set pool->probed to true after an attempt to resolve the url via stratum code.
|
2013-05-18 13:09:01 +10:00 |
|
Con Kolivas
|
3336880e3b
|
Show pool difficulty more verbosely if it changes via stratum.
|
2013-05-13 22:42:39 +10:00 |
|
mhren
|
c5bfc45233
|
Update util.c
Apple OS/X does not define MSG_NOSIGNAL. Use SO_NOSIGPIPE instead
|
2013-05-11 23:32:57 -05:00 |
|
Con Kolivas
|
3972fe223b
|
Show a different warning and loglevel for failure to resolve a URL on first or subsequent testing of stratum pool URLs.
|
2013-05-11 15:03:40 +10:00 |
|
Con Kolivas
|
2645797fca
|
Set all stratum sockets to nonblocking to avoid trying to use MSG_DONTWAIT on windows.
|
2013-05-09 22:04:33 +10:00 |
|
Con Kolivas
|
d89936a96c
|
Fix warnings on win32 build.
|
2013-05-09 21:10:53 +10:00 |
|
ckolivas
|
832012f61d
|
Only use MSG_NOSIGNAL for !win32 since it doesn't exist on windows.
|
2013-05-09 13:42:53 +10:00 |
|
ckolivas
|
6acfdbd661
|
Use MSG_NOSIGNAL on stratum send()
|
2013-05-09 13:36:34 +10:00 |
|
ckolivas
|
a7cbbc9fc3
|
Set TCP_NODELAY for !linux for raw sockets.
|
2013-05-09 12:08:42 +10:00 |
|
ckolivas
|
0676a1a885
|
Use TCP_NODELAY with raw sockets if !opt_delaynet
|
2013-05-09 12:00:28 +10:00 |
|
Con Kolivas
|
68196588c9
|
Make raw sockets compile on windows
|
2013-05-09 11:39:09 +10:00 |
|
Con Kolivas
|
43bcccf868
|
Recheck select succeeds on EWOULDBLOCK for stratum.
|
2013-05-09 10:41:27 +10:00 |
|
Con Kolivas
|
6e969e93e2
|
Recv() should all be non-blocking for raw sockets in stratum.
|
2013-05-08 22:52:18 +10:00 |
|
Con Kolivas
|
cf80fe4a63
|
Change verbosity and error for getaddrinfo warnings in setup stratum socket.
|
2013-05-08 22:41:28 +10:00 |
|
Con Kolivas
|
1a43cb0b17
|
Free servinfo after p is checked in setup stratum socket.
|
2013-05-08 22:11:01 +10:00 |
|
Con Kolivas
|
31aa4f6ceb
|
Use raw sockets without curl for stratum communications.
|
2013-05-08 21:59:58 +10:00 |
|
Con Kolivas
|
657e64477b
|
Sacrifice curl handle memory on stratum disconnects on all versions of libcurl to avoid curl corruption.
|
2013-05-08 06:28:07 +10:00 |
|
Con Kolivas
|
891f88b601
|
Don't use TCP_NODELAY if opt_delaynet is enabled with stratum.
|
2013-05-06 16:54:55 +10:00 |
|
Kano
|
2ce2f8d8eb
|
util correct applog typing
|
2013-05-02 23:36:04 +10:00 |
|
Kano
|
863c9e27df
|
util.c str_text make a fully text readable version of str
|
2013-04-26 14:49:10 +10:00 |
|
Con Kolivas
|
d835ef75d1
|
Receive failures in recv_line should unconditionally fail.
|
2013-04-24 23:16:21 +10:00 |
|
Con Kolivas
|
06f7f52553
|
Revert "Add more debugging to recv_line parse failure."
This reverts commit b615502b2b .
Unnecessary.
|
2013-04-24 23:14:41 +10:00 |
|
Con Kolivas
|
af60a19ddd
|
Use sock_blocks function for stratum send and receive.
|
2013-04-24 23:07:42 +10:00 |
|
Con Kolivas
|
181cb1635f
|
There should be no error response code with return value 0 in recv_line.
|
2013-04-24 21:26:44 +10:00 |
|
Con Kolivas
|
b615502b2b
|
Add more debugging to recv_line parse failure.
|
2013-04-24 21:14:20 +10:00 |
|
Con Kolivas
|
e95695dbc7
|
Check for errors on stratum recv for any recv return value less than 1 and only parse the response if it's positive.
|
2013-04-24 20:44:41 +10:00 |
|
James Z.M. Gao
|
e00a1b0e52
|
compile on win32
|
2013-04-22 11:19:15 +08:00 |
|
Con Kolivas
|
d2abaa8317
|
Provide wrappers for commonly used timer routines with API stats.
|
2013-04-22 10:49:10 +10:00 |
|
Con Kolivas
|
3cc42231f1
|
Fulltest is true if value is <= target.
|
2013-04-22 09:53:34 +10:00 |
|
Con Kolivas
|
3c61a51ea5
|
Use system host to endian functions for clarity in fulltest.
|
2013-04-22 09:48:41 +10:00 |
|
Con Kolivas
|
3d7f824363
|
Create a cgminer specific gettimeofday wrapper that is always called with tz set to NULL and increases the resolution on windows.
|
2013-04-21 19:02:44 +10:00 |
|
Con Kolivas
|
3b5ef34371
|
Add high resolution to nmsleep wrapper on windows.
|
2013-04-21 18:01:49 +10:00 |
|
Con Kolivas
|
36bb133e61
|
Cleanup when stratum curl fails to initialise.
|
2013-04-15 12:34:34 +10:00 |
|
Con Kolivas
|
81549c5bff
|
Avoid applog in recalloc_sock.
|
2013-04-15 12:16:05 +10:00 |
|
Con Kolivas
|
69c203d88a
|
Avoid applog under stratum_lock in recv_line.
|
2013-04-15 12:07:52 +10:00 |
|
Con Kolivas
|
e4effc372c
|
Avoid applog under stratum_lock in __stratum_send.
|
2013-04-15 12:01:24 +10:00 |
|
Con Kolivas
|
d248e7aafa
|
Put spacing around locking in util.c for clarity.
|
2013-04-15 11:50:59 +10:00 |
|
Con Kolivas
|
c1ec55a6a3
|
Avoid curl_easy_cleanup on old curl versions in setup_stratum_curl as well.
|
2013-04-09 07:08:09 +10:00 |
|
Con Kolivas
|
1e14748c68
|
Small timeouts on select() instead of instant timeout increase reliability of socket reads and writes.
|
2013-04-06 16:38:11 +11:00 |
|
Con Kolivas
|
c6ca12f084
|
Differentiate socket closed from socket error in recv_line.
|
2013-04-06 11:22:30 +11:00 |
|
Con Kolivas
|
b6e3d5b4fa
|
Make pool adding while running asynchronous, using the pool test thread functionality.
|
2013-03-14 22:34:53 +11:00 |
|
Con Kolivas
|
1a74bc5631
|
Only curl easy cleanup a stratum curl if it exists.
|
2013-03-14 22:08:19 +11:00 |
|
Con Kolivas
|
195ea63589
|
Sacrifice the ram of curl handles in stratum disconnects when we have built with old libcurl to avoid crashes.
|
2013-03-14 22:05:42 +11:00 |
|
Con Kolivas
|
26ddd1fd20
|
Move the stratum and GBT data to be protected under a new cg_lock data_lock.
|
2013-03-12 22:31:45 +11:00 |
|
Con Kolivas
|
66c567ab2e
|
Use curl_easy_cleanup to close any open stratum sockets.
|
2013-03-09 12:13:12 +11:00 |
|
Con Kolivas
|
7e3ca57049
|
Set sockd to false should curl setup fail on stratum.
|
2013-03-09 10:41:36 +11:00 |
|
Con Kolivas
|
56068d6839
|
Close any open sockets when reusing a curl handle and reopen the socket whenever we're retrying stratum.
|
2013-03-09 10:30:58 +11:00 |
|
Con Kolivas
|
09c02b1c7b
|
Shorten the time before keepalive probes are sent out and how frequently they're sent with stratum curls.
|
2013-03-07 22:02:51 +11:00 |
|
Con Kolivas
|
501f4cd6ec
|
Clear the socket of anything in the receive buffer if we're going to retry connecting.
|
2013-03-07 19:59:30 +11:00 |
|
Con Kolivas
|
c9b4f5c757
|
Revert "Cope with out of order messages coming in upon attempting to auth_stratum."
This reverts commit 237f67c617 .
|
2013-03-07 15:34:44 +11:00 |
|
Con Kolivas
|
ed903ddf31
|
Clear just the socket buffer when we don't care what is left in a stratum socket.
|
2013-03-07 15:13:32 +11:00 |
|
Con Kolivas
|
fbb25c4ba5
|
Clear the stratum socket whenever we are closing it since the buffer is going to be reused.
|
2013-03-07 15:10:38 +11:00 |
|
Con Kolivas
|
0810212c9a
|
Reset stratum_notify flag on suspend_stratum as well.
|
2013-03-07 14:20:33 +11:00 |
|
Con Kolivas
|
07ae6172cc
|
Close any sockets opened if we fail to initiate stratum but have opened the socket.
|
2013-03-07 14:15:28 +11:00 |
|
Con Kolivas
|
6875dc46b6
|
Close any existing stratum socket if we are attempting to restart stratum so the pool knows the connection has gone.
|
2013-03-07 13:50:25 +11:00 |
|
Con Kolivas
|
237f67c617
|
Cope with out of order messages coming in upon attempting to auth_stratum.
|
2013-03-07 11:36:04 +11:00 |
|
Con Kolivas
|
e3151799b6
|
Implement client.show_message support for stratum.
|
2013-03-07 08:42:14 +11:00 |
|
Con Kolivas
|
0be6e9e76c
|
Make sure to retry only once with noresume support for stratum.
|
2013-03-06 21:01:46 +11:00 |
|
Con Kolivas
|
5abcf06bbe
|
Merge branch 'master' into usb-dev
|
2013-02-25 10:44:54 +11:00 |
|
Con Kolivas
|
3c949e5f6c
|
Try to extract the sessionid associated with mining.notify on 3rd level array and submit it along with the userid to support mining resume, failing gracefully and restarting if the pool rejects it.
|
2013-02-25 10:43:48 +11:00 |
|
Con Kolivas
|
5a3b374962
|
Update copyright dates.
|
2013-02-25 08:59:11 +11:00 |
|
Con Kolivas
|
6bf79626b8
|
Merge branch 'master' into usb-dev
|
2013-02-23 13:59:37 +11:00 |
|
Con Kolivas
|
3dcdb94921
|
Cope with misread sessionid on stratum for now.
|
2013-02-23 13:07:47 +11:00 |
|
ckolivas
|
6a0882f05b
|
Use the sessionid as passed on stratum connect to attempt to resume a connection once and then clear it if it fails, to use a new connection.
|
2013-02-22 16:55:39 +11:00 |
|
ckolivas
|
68d691093c
|
Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol.
|
2013-02-22 12:55:01 +11:00 |
|
ckolivas
|
22a50a5a0f
|
Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev
|
2013-02-17 00:10:36 +11:00 |
|
Con Kolivas
|
a7859bb416
|
Merge pull request #386 from luke-jr/bugfix_20130215a
Bugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug message
|
2013-02-16 03:52:06 -08:00 |
|
Luke Dashjr
|
7473c3dc94
|
Bugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug message
|
2013-02-16 05:06:38 +00:00 |
|
Con Kolivas
|
ab0cc58cb4
|
Merge branch 'master' into usb-dev
|
2013-02-15 23:15:11 +11:00 |
|
Con Kolivas
|
be4705a003
|
Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process.
|
2013-02-15 23:05:29 +11:00 |
|
Con Kolivas
|
4cde791e9f
|
Provide basic framework for restarting stratum depending on whether resume support exists or not.
|
2013-02-15 21:31:44 +11:00 |
|
Con Kolivas
|
c29df9760f
|
Abstract out the setting up of the stratum curl socket.
|
2013-02-15 21:03:39 +11:00 |
|
Con Kolivas
|
c851f39598
|
Store session id for stratum if the pool supports it for future mining.resume support.
|
2013-02-15 14:46:30 +11:00 |
|
Kano
|
c432c655f7
|
debug_cb buffer type warning
|
2013-02-13 14:50:55 +11:00 |
|
Con Kolivas
|
3c91b292a2
|
Merge branch 'master' into usb-dev
|
2013-02-07 18:02:38 +11:00 |
|
Con Kolivas
|
903c666326
|
Fix logic fail on partial writes with stratum send that was leading to corrupt message submissions.
|
2013-02-07 16:38:11 +11:00 |
|
Con Kolivas
|
0244998ef8
|
Merge branch 'master' into usb-dev
|
2013-02-04 11:23:20 +11:00 |
|
Con Kolivas
|
d644fdf1f4
|
Cache the coinbase length to speed up stratum work generation.
|
2013-02-04 11:19:12 +11:00 |
|
Con Kolivas
|
0870ab7532
|
Cache the header length when generating stratum work to avoid calculating it on every work generation, and to only need one alloc+sprintf, speeding up work generation.
|
2013-02-04 11:06:05 +11:00 |
|
Con Kolivas
|
51d11a28f9
|
Provide a wrapper for aligning lengths of size_t to 4 byte boundaries.
|
2013-02-04 10:19:12 +11:00 |
|
Kano
|
c1eae36f7b
|
API stats - include pool network bytes + in miner.php
|
2013-02-02 20:14:33 +11:00 |
|
Con Kolivas
|
e1387dc85c
|
Change the pool stratum socket buffer to be dynamically allocated to accomodate any size coinbase and keep receiving data in recv line for up to 60s if no end of line has been received.
|
2012-12-29 11:29:59 +11:00 |
|
Con Kolivas
|
6e2e7d36de
|
Differentiate socket full from sock full.
|
2012-12-29 10:46:55 +11:00 |
|
Con Kolivas
|
7f46f6e91f
|
Allow stratum to startup without notify but check it is valid before creating stratum work.
|
2012-12-29 10:42:45 +11:00 |
|
Con Kolivas
|
e1d7ecdd35
|
Do not try to generate stratum work unless the notify command has succeeded.
|
2012-12-29 09:45:40 +11:00 |
|
Con Kolivas
|
944af31b99
|
Parse anything in the stratum socket if it's full without waiting. Empty the socket even if a connection is not needed in case there are share returns.
|
2012-12-26 09:31:41 +11:00 |
|
Con Kolivas
|
cada0d3195
|
Check for EWOULDBLOCK when supported in send and recv as well.
|
2012-12-14 21:36:42 +11:00 |
|
Con Kolivas
|
2274af6a05
|
Use the raw send() command instead of curl_easy_send since curl raw socket usage introduces random bugs on windows.
|
2012-12-14 21:29:33 +11:00 |
|
Con Kolivas
|
f66d59df03
|
Use raw recv() command in place of curl_easy_recv since the curl implementation introduces random bugs on windows builds when the recv fails.
|
2012-12-14 21:20:52 +11:00 |
|
Kano
|
138465bf0c
|
Pool store data transfer stats
|
2012-12-13 00:56:10 +11:00 |
|
Con Kolivas
|
ac3020f45b
|
Include prctl header for thread renaming to work.
|
2012-12-10 22:02:31 +11:00 |
|
Con Kolivas
|
15e5e36bcd
|
Return value of keep_sockalive is no longer used.
|
2012-12-09 14:13:24 +11:00 |
|
Con Kolivas
|
8fcc67f308
|
Remove dependency on mstcpip.h for windows build by making curl version >= 7.25.0 mandatory on windows builds, and use curl functions for keepalive whenever possible instead.
|
2012-12-09 13:39:37 +11:00 |
|
Con Kolivas
|
68f1b2c4b5
|
Set successful connect to true on auth stratum to allow summary on exit from single stratum pool.
|
2012-12-08 22:14:47 +11:00 |
|
Con Kolivas
|
be013e9699
|
Set pool probed to true on successful authorisation with stratum to avoid it being pinged later with pool_getswork.
|
2012-12-07 09:37:37 +11:00 |
|
Con Kolivas
|
fc5d3a0eaf
|
Suspend stratum connections to backup pools when there is no requirement to potentially grab work from them.
|
2012-12-03 09:52:46 +11:00 |
|
Denis Ahrens
|
271b05ab04
|
setting the name of the threads for linux,freebsd,openbsd and osx
code is borrowed from bitcoins util.c, so it is already tested
|
2012-12-02 11:39:20 +01:00 |
|
Con Kolivas
|
fc66a41e85
|
Style police.
|
2012-12-02 20:49:40 +11:00 |
|
Con Kolivas
|
f94cff77e6
|
Microoptimise and remove redundant copy of strdup function in calloc_strcat.
|
2012-12-02 18:06:55 +11:00 |
|
Con Kolivas
|
0ae02c6ec4
|
Since we will be using calloc_str to put a string into it, convert the function to calloc_strcat which does it automatically.
|
2012-12-01 08:26:31 +11:00 |
|
Con Kolivas
|
ee8609d9a9
|
Provide helper functions calloc_str and realloc_strcat to create and extend arbitrary length arrays based on string length.
|
2012-11-29 12:48:17 +11:00 |
|
nelisky
|
6db7e2e5cf
|
fixes target calc for mips openwrt
|
2012-11-24 13:12:19 -08:00 |
|
Con Kolivas
|
0b088d8d81
|
Provide rudimentary support for literal ipv6 addresses when parsing stratum URLs.
|
2012-11-18 18:08:14 +11:00 |
|
Con Kolivas
|
f14bf5b16c
|
Merge pull request #326 from pshep/error_counters
Error counters
|
2012-11-17 22:06:49 -08:00 |
|
Con Kolivas
|
b3864d1a94
|
Support for fractional diffs and the classic just-below-1 share all FFs diff target.
|
2012-11-15 09:18:58 +11:00 |
|
Paul Sheppard
|
dad6c70420
|
Merge branch 'master' into error_counters
|
2012-11-06 09:46:05 -08:00 |
|
Con Kolivas
|
cc7c274543
|
Manage appropriate response codes for share submission with GBT.
|
2012-11-05 16:28:52 +11:00 |
|
Paul Sheppard
|
84173c6cc7
|
missing a break.
|
2012-11-04 20:38:11 -08:00 |
|
Paul Sheppard
|
9f74e650b3
|
Tidy up device error counts
|
2012-11-04 20:17:43 -08:00 |
|
Luke Dashjr
|
c2b5c5ee4c
|
Bugfix: Free old stratum_work data before replacing it
|
2012-10-30 19:30:11 +11:00 |
|
Con Kolivas
|
c2861d683a
|
There is no need for addrinfo any more.
|
2012-10-30 19:22:02 +11:00 |
|
ckolivas
|
a2d5783509
|
server and client sockaddr_in are no longer used in struct pool.
|
2012-10-30 16:45:27 +11:00 |
|
Con Kolivas
|
48f24223b8
|
Shorten the initiate stratum connect timeout to 30 seconds.
|
2012-10-29 12:35:21 +11:00 |
|
Con Kolivas
|
6f4c47ebd2
|
Make stratum socket fail more robust on windows by disabling the send buffer.
Reuse the same curl handle forcing a new connection instead of risking derefencing.
Add information about submission failure to stratum send.
|
2012-10-29 12:08:10 +11:00 |
|
Con Kolivas
|
aa97e87a13
|
Use keepalive with stratum sockets to improve its ability to detect broken connections.
|
2012-10-28 09:15:45 +11:00 |
|
Con Kolivas
|
d9276557f1
|
Show only the URL in the status bar to avoid long prefixes making for extra long lines.
|
2012-10-27 23:20:10 +11:00 |
|
Con Kolivas
|
6d3c880a25
|
Make sure to check pool stratum curl exists under lock before attempting any recv to not risk dereferencing upon attempting to reinitiate stratum.
|
2012-10-22 22:48:12 +11:00 |
|
Con Kolivas
|
e575763a80
|
Avoid redefining macros and align to 4 byte boundaries.
|
2012-10-22 22:06:00 +11:00 |
|
ckolivas
|
bb4bec98d5
|
Use select on stratum send to make sure the socket is writeable.
|
2012-10-17 09:34:32 +11:00 |
|
Con Kolivas
|
99adf397bd
|
Failure to calloc in bin2hex is a fatal failure always so just check for that failure within the function and abort, simplifying the rest of the code.
|
2012-10-16 19:47:31 +11:00 |
|
Con Kolivas
|
b3d4258940
|
Provide locking around the change of the stratum curl structures to avoid possible races.
|
2012-10-16 19:22:48 +11:00 |
|
Con Kolivas
|
e5babfa25b
|
Watch for buffer overflows on receiving data into the socket buffer.
|
2012-10-15 11:40:32 +11:00 |
|
Con Kolivas
|
2a9b3e33d3
|
String alignment to 4 byte boundaries and optimisations for bin<->hex conversions.
|
2012-10-14 09:54:04 +11:00 |
|
Con Kolivas
|
fc72ad5563
|
Off by one error.
|
2012-10-12 14:57:42 +11:00 |
|
Con Kolivas
|
9ccfcee6dc
|
Prevent overflows of the port char array in extract_sockaddr.
|
2012-10-12 14:55:52 +11:00 |
|
ckolivas
|
7f522ef83c
|
Add support for client.get_version for stratum.
|
2012-10-11 14:23:09 +11:00 |
|
Con Kolivas
|
a533f106fd
|
Update reconnect message to show whole address including port.
|
2012-10-11 00:08:45 +11:00 |
|
Con Kolivas
|
5226a399c7
|
Look for null values and parse correct separate array entries for url and port with client reconnect commands for stratum.
|
2012-10-11 00:06:44 +11:00 |
|
Con Kolivas
|
7c04a00e62
|
The command for stratum is client.reconnect, not mining.reconnect.
|
2012-10-10 23:56:24 +11:00 |
|
Con Kolivas
|
783af8768b
|
Implement rudimentary mining.reconnect support for stratum.
|
2012-10-10 23:41:29 +11:00 |
|
Con Kolivas
|
974f65c67f
|
Ignore the value of stratum_active on calling initiate_stratum and assume we're always trying to reinitiate it, and set the active flag to false in that function.
|
2012-10-10 23:22:24 +11:00 |
|
Con Kolivas
|
07605fad60
|
stratum auth can be unset if we fail to authorise on subsequent calls to auth_stratum which undoes the requirement of setting it in one place so set it in pool_active.
|
2012-10-10 23:07:33 +11:00 |
|
Con Kolivas
|
ef822a25ed
|
Detect stratum outage based on either select timing out or receiving an empty buffer and properly re-establish connection by disabling the stratum_active flag, coping with empty buffers in parse_stratum.
|
2012-10-08 11:08:04 +11:00 |
|
Con Kolivas
|
7a01578cc5
|
Only hand off to stratum from getwork if we succeed in initiating the protocol.
|
2012-10-06 10:14:30 +10:00 |
|
Con Kolivas
|
ef63ea3151
|
Drop stratum connect failed message to verbose level only since it's a regular probing message.
|
2012-10-05 12:45:07 +10:00 |
|
Con Kolivas
|
fa444294bf
|
TCP Keepalive in curl is only in very recent versions and not required with regular messages on stratum anyway.
|
2012-10-05 12:41:59 +10:00 |
|
Con Kolivas
|
a8d693029a
|
Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl.
|
2012-10-05 12:37:29 +10:00 |
|
Con Kolivas
|
deb0a9b644
|
Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages.
|
2012-10-04 23:18:33 +10:00 |
|
Con Kolivas
|
77c5a006aa
|
Alloca is unreliable on windows so use static arrays in util.c stratum code.
|
2012-10-04 21:00:32 +10:00 |
|
Con Kolivas
|
c113534feb
|
Begin support for mingw stratum build.
Conflicts:
configure.ac
|
2012-10-04 17:52:35 +10:00 |
|
Con Kolivas
|
2fae906440
|
Don't try to parse unneeded parameters in response to mining.subscribe.
|
2012-10-03 21:10:30 +10:00 |
|
Con Kolivas
|
9698858abc
|
Remove the sshare hash entry if we failed to send it.
|
2012-10-03 18:19:31 +10:00 |
|
Con Kolivas
|
3cb373d692
|
Change notify message to info level to avoid spamming repeatedly when a pool is down.
|
2012-10-03 12:01:29 +10:00 |
|
Con Kolivas
|
1b7aa48c8f
|
Initiate stratum the first time in pool_active only, allowing us to switch to it on getting a failed getwork and detecting the presence of stratum on the url at that time.
|
2012-10-02 11:46:48 +10:00 |
|
Con Kolivas
|
d122a789ed
|
Use 5 second timeout on sock full for now as a temporary workaround.
|
2012-10-02 10:19:45 +10:00 |
|
Con Kolivas
|
d851bf3d65
|
Revert "Don't wait on select when first detecting stratum, just receive one line."
This reverts commit 496af92afd .
Not quite right.
|
2012-10-02 10:10:52 +10:00 |
|
Con Kolivas
|
496af92afd
|
Don't wait on select when first detecting stratum, just receive one line.
|
2012-10-02 10:06:37 +10:00 |
|
Con Kolivas
|
bbb092e0da
|
Make the stratum recv buffer larger than the recvsize.
|
2012-10-02 09:08:47 +10:00 |
|
Con Kolivas
|
2941febd05
|
Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings.
|
2012-10-02 00:00:55 +10:00 |
|
Con Kolivas
|
eaf7ed0dcd
|
Detect if a getwork based pool has the X-Stratum header on startup, and if so, switch to the stratum based pool.
|
2012-10-01 22:13:20 +10:00 |
|
Con Kolivas
|
b5617734fa
|
Provide locking around stratum send operations to avoid races.
|
2012-09-30 23:10:43 +10:00 |
|
Con Kolivas
|
8baac0d66d
|
Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash.
|
2012-09-30 23:03:45 +10:00 |
|
Con Kolivas
|
fa4c9bf60f
|
Use a more robust mechanism to obtain a \n terminated string over a socket.
|
2012-09-30 22:40:41 +10:00 |
|
Con Kolivas
|
2de951518e
|
Abstract out share submit as a function to be useable by stratum.
|
2012-09-30 20:24:24 +10:00 |
|
Con Kolivas
|
739cba28a7
|
Rename parse_stratum to parse_method as it is only for stratum messages that contain methods.
|
2012-09-30 19:19:46 +10:00 |
|
Con Kolivas
|
9180a557c3
|
Count each stratum notify as a getwork equivalent.
|
2012-09-30 19:11:22 +10:00 |
|
Con Kolivas
|
aa6aa29c4d
|
Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again.
|
2012-09-29 17:06:48 +10:00 |
|
Con Kolivas
|
7415d7aaa0
|
Begin implementing a hash database of submissions and attempt sending results.
|
2012-09-29 16:10:13 +10:00 |
|
Con Kolivas
|
ac47f7f3a6
|
Store and display stripped url in its own variable.
|
2012-09-29 14:16:16 +10:00 |
|
Con Kolivas
|
636f4b14d7
|
Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set.
|
2012-09-29 11:38:52 +10:00 |
|
Con Kolivas
|
1f6fe55152
|
Generate the coinbase for generation of stratum based work.
|
2012-09-29 02:16:22 +10:00 |
|
Con Kolivas
|
1f64491f62
|
The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum.
|
2012-09-29 01:48:01 +10:00 |
|
Con Kolivas
|
1221a80d41
|
Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
|
2012-09-29 01:03:23 +10:00 |
|
Con Kolivas
|
56255a0c86
|
Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
|
2012-09-28 18:01:33 +10:00 |
|
Con Kolivas
|
31c3759ecd
|
Check return value of stratum_parse.
|
2012-09-28 10:37:42 +10:00 |
|
Con Kolivas
|
ac9a4378d1
|
Complete authorisation in stratum.
|
2012-09-28 10:31:45 +10:00 |
|
Con Kolivas
|
331026595f
|
Implement stratum parsing of notify parameters and storing them in the pool stratum work structure.
|
2012-09-28 10:18:58 +10:00 |
|
Con Kolivas
|
9d4a44e88e
|
Create helper functions for duplicating json strings to avoid keeping json references in use.
|
2012-09-28 09:57:42 +10:00 |
|
Con Kolivas
|
b86a893981
|
Append \n in the sock_send function instead of adding it when constructing json in stratum.
|
2012-09-28 05:30:36 +10:00 |
|
Con Kolivas
|
d416d22381
|
Don't keep any json references around with stratum structures.
|
2012-09-28 05:26:29 +10:00 |
|
Con Kolivas
|
7e2dcc6fff
|
Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables.
Implement mining difficulty setting.
|
2012-09-28 05:16:52 +10:00 |
|
Con Kolivas
|
a6f1a62220
|
Create helper functions for checking when a socket is ready to read on and receive a single line at a time.
Begin stratum authorisation process.
|
2012-09-28 04:35:16 +10:00 |
|
Con Kolivas
|
07e6bd1262
|
Provide a helper function for reading a single \n terminated string from a socket.
|
2012-09-27 13:50:05 +10:00 |
|
Con Kolivas
|
f6f43500c0
|
Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
|
2012-09-27 09:06:56 +10:00 |
|
Con Kolivas
|
8fd149eec9
|
Fix warnings.
|
2012-09-26 16:51:08 +10:00 |
|
Con Kolivas
|
e3f1b02e9a
|
Extract and store various parameters on stratum init confirming successful mining notify.
|
2012-09-26 16:49:51 +10:00 |
|
Con Kolivas
|
c0de671c4f
|
Use existing socket macros and close the socket on failure in init stratum.
|
2012-09-26 15:40:26 +10:00 |
|
Con Kolivas
|
a1b17229b8
|
Initiate stratum and grab first json result.
|
2012-09-26 15:23:01 +10:00 |
|
Con Kolivas
|
58873c1dfa
|
Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
|
2012-09-25 20:23:59 +10:00 |
|
Con Kolivas
|
ee3b7865e2
|
Prepare for getaddrinfo call.
|
2012-09-25 05:46:07 +10:00 |
|
Kano
|
41dcb10d4c
|
util.c - bug - proxy - no data end condition
|
2012-09-21 20:55:48 +10:00 |
|
Kano
|
bd3c98aaaf
|
Optional WorkTime details with each Accepted/Rejected work item
|
2012-09-15 14:04:57 +10:00 |
|
Kano
|
e043f5a5aa
|
bug: remove proxy: from the front of the proxy used
|
2012-09-12 08:32:00 +10:00 |
|
Kano
|
cef9731fbc
|
CURL support for individual proxy per pool and all proxy types
|
2012-09-12 07:44:00 +10:00 |
|
Kano
|
d5f485c517
|
Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php
|
2012-08-23 19:20:12 +10:00 |
|
Con Kolivas
|
8745ba1e6d
|
Windows' timer resolution is limited to 15ms accuracy. This was breaking dynamic intensity since it tries to measure below this.
Since we are repeatedly sampling similar timeframes, we can average the gpu_us result over 5 different values to get very fine precision.
|
2012-08-15 09:38:45 +10:00 |
|