Commit Graph

237 Commits

Author SHA1 Message Date
Con Kolivas
b33e44c0fe Drop all clients when we do an update_subscribe 2014-05-20 12:13:18 +10:00
Con Kolivas
65a8b3d9fb Drop proxy connections on failing to submit messages 2014-05-20 11:06:39 +10:00
Con Kolivas
859d5161b0 Fix total user hashrate being low with multiple workers 2014-05-20 10:12:53 +10:00
Con Kolivas
20ffea6ed0 Store the pool rejects and log a flat pool status summary to file 2014-05-20 00:28:49 +10:00
Con Kolivas
b42ae21069 Decay user share to zero when there are no shares 2014-05-19 23:56:06 +10:00
Con Kolivas
ba7841d9b3 Create a simple one line summary file per user in logs/ 2014-05-19 23:40:15 +10:00
Con Kolivas
def617ca8e Log each user's statistics every minute 2014-05-19 23:29:56 +10:00
Con Kolivas
8db9c09427 Update the statistics per user in add_submit 2014-05-19 23:16:09 +10:00
Con Kolivas
a53c43cdaf Create pseudo user matching based on workername parsing 2014-05-19 23:06:11 +10:00
Con Kolivas
2cce50cfa0 Use int64s for diffs 2014-05-19 22:12:55 +10:00
Con Kolivas
21e6b2704e Use doubles for per client diffs and display the total accepted hashes in the console log 2014-05-19 22:02:37 +10:00
Con Kolivas
228ec71055 Fix overflow issue with diff in submission_diff 2014-05-19 21:35:06 +10:00
Con Kolivas
f2361b921b Create a hashtable of shares we submit in proxy mode to compare responses for future logging 2014-05-19 17:12:43 +10:00
Con Kolivas
7c98ab5c1d Store structures for all possible upstream servers to allow us to choose an alive one for now with a view to enable switching 2014-05-19 15:36:14 +10:00
Con Kolivas
26cc00b013 Implement stratum show_message support 2014-05-19 14:02:03 +10:00
Con Kolivas
a11d64f120 Parse the send_version request an return package/version 2014-05-19 13:57:59 +10:00
Con Kolivas
14a8430265 Propagate the upstream pool's diff to clients as soon as it has dropped if it's below their current setting 2014-05-19 00:03:33 +10:00
Con Kolivas
00364f6d28 Remove redundant variables 2014-05-18 23:48:48 +10:00
Con Kolivas
b1b79e0efc There is no need to hold the workbase lock when submitting a share 2014-05-18 23:43:08 +10:00
Con Kolivas
50f7da96bb Show the network or max pool diff along with the share diff in verbose logging 2014-05-18 23:19:10 +10:00
Con Kolivas
d8882dacaf Store the block height in proxy mode by extracting it from the coinbase 2014-05-18 22:57:00 +10:00
Con Kolivas
4f60dc1b8a Provide a way to extract a serialised integer 2014-05-18 22:54:42 +10:00
Con Kolivas
f07fb994ed Fix missing close socket in connector 2014-05-18 21:24:30 +10:00
Con Kolivas
29a8235c64 Only start the blockupdate thread if we're not in proxy mode 2014-05-18 20:49:32 +10:00
Con Kolivas
09cf4f984e Change the current workbase diff when the parent pool diff changes 2014-05-18 20:41:55 +10:00
Con Kolivas
e36e5ce010 Submit the actual shares sent to the proxy upstream 2014-05-18 20:15:07 +10:00
Con Kolivas
d265e51664 Create a send processing queue in the proxy generator and receive shares that meet the parent pool target 2014-05-18 19:31:58 +10:00
Con Kolivas
6d11b8b546 Keep track of the most current stratum notification and age notifications older than 10 mins old 2014-05-18 17:05:29 +10:00
Con Kolivas
72e6026052 Fix various coinbase assembly issues 2014-05-18 16:50:21 +10:00
Con Kolivas
db1b2b45a4 Parse the mining difficulty when proxying and store it in the stratifier as the current workbase diff. Update notify and diff in stratifier when a change is deteced. 2014-05-18 14:46:24 +10:00
Con Kolivas
747e689de9 Make each proxied client's enonce1 a function of the constant enonce1 and the extra bytes from the nonce2 which are unique for each client instance 2014-05-18 10:24:41 +10:00
Con Kolivas
da383b8735 Store the notify data coming from the proxifier to the stratifier and create the basic work templates 2014-05-18 00:10:12 +10:00
Con Kolivas
faf87ceeee Store the proxy base subscribe details in a struct protected by the workbase lock 2014-05-17 20:36:59 +10:00
Con Kolivas
860abc7903 Fail in proxy mode if the nonce2 length is too small to successfully proxy 2014-05-17 19:53:11 +10:00
Con Kolivas
fae9983fd7 Inform the stratifier process of the data in subscribe and notify from the generator proxy 2014-05-17 19:44:27 +10:00
Con Kolivas
54883b37fd Make read_socket_line accept a timeout in seconds 2014-05-17 14:17:42 +10:00
Con Kolivas
dacb261ad5 Store the proxy method results in a unique struct and add it to a hashtable of notifications 2014-05-16 17:37:33 +10:00
Con Kolivas
a879f43f7a Parse stratum proxy responses till we get the authorisation response 2014-05-16 15:00:45 +10:00
Con Kolivas
0f4dff3144 Parse a proxy subscribe response as flexibly as possible 2014-05-16 14:33:08 +10:00
Con Kolivas
6ac33e57ac Create initial stratum proxy connection 2014-05-16 12:42:50 +10:00
Con Kolivas
8af64746bf Change config format to take url auth and pass for both btcd and proxy and choose which to use in the generator based on proxy bool 2014-05-16 10:06:27 +10:00
Con Kolivas
0256ad517b Accept an array of entries for bitcoinds and take initial values for proxying 2014-05-16 00:13:03 +10:00
Con Kolivas
78c1b2dfda Make process instances an array within the ckpool struct allowing us to enable only those we need when we add more modules to future code 2014-05-13 12:11:39 +10:00
Con Kolivas
08326b2d09 More explicit message 2014-05-12 23:04:00 +10:00
Con Kolivas
8631f33809 Accept ping requests on the various unix sockets 2014-05-12 22:49:39 +10:00
Con Kolivas
686d6da799 Send shutdown messages to the listener thread on watchdog shutdown or signal handling 2014-05-12 22:34:24 +10:00
Con Kolivas
75db39209f Abort trying to relaunch processes if we're relaunching them too fast 2014-05-12 22:09:06 +10:00
Con Kolivas
b85946cc31 Failure to accept in connector should be a fatal error 2014-05-12 22:03:09 +10:00
Con Kolivas
7ab22aa1ec Consider other modes of generator failure terminal and shut down 2014-05-12 21:56:59 +10:00
Con Kolivas
28f3f6cb2e Shut down more gracefully on startup failure 2014-05-12 21:51:18 +10:00