Commit Graph

259 Commits

Author SHA1 Message Date
ckolivas
d19a682d92 Set the maximum pplns window to 5xdiff 2014-05-22 10:26:52 +10:00
ckolivas
d86b6833ef Retain a proportion of shares across block solves when total shares is greater than the 1/5th window 2014-05-22 10:11:55 +10:00
Con Kolivas
8e099c8dd1 Make the pplns window 1/5 of difficulty 2014-05-22 00:17:06 +10:00
Con Kolivas
3102379119 Limit client diff drops to halving to prevent idle periods invalidating the calculations 2014-05-22 00:08:30 +10:00
Con Kolivas
305165914d Display a rudimentary pplns summary on solving a block to calculate payouts 2014-05-21 23:43:33 +10:00
Con Kolivas
1624aaa897 Display the pplns shares per worker and store it in the temporary logs 2014-05-21 23:02:53 +10:00
Con Kolivas
ce028d0485 Load the saved pplns shares on beginning a new user instance 2014-05-21 22:57:33 +10:00
Con Kolivas
f3c899e09b Store a rudimentary summary of pplns shares up to the current network diff in a logfile per user 2014-05-21 22:50:00 +10:00
Con Kolivas
24643e9ba0 Get the network difficulty from the block header and use that to determine possible block solves in proxy mode 2014-05-21 22:28:03 +10:00
Con Kolivas
ed8f73a426 Unix message failures are almost always fatal so add debugging about where the functions were called from 2014-05-21 21:25:28 +10:00
Con Kolivas
e5953833a5 Don't show block hash in logs when accepted 2014-05-21 07:21:35 +10:00
Con Kolivas
0471340fdd Update notify when we have a new subscription and gracefully drop connections from the send process to be detected rapidly in the recv thread 2014-05-20 18:10:15 +10:00
Con Kolivas
a50bb29d21 Free up old data in place if we are re-subscribing 2014-05-20 17:35:21 +10:00
Con Kolivas
9983c96ca0 Fix uninitialised variable 2014-05-20 16:26:47 +10:00
Con Kolivas
740edcc80c Revert "Do not hand out enonce1 to new clients when no notify data exists"
This reverts commit cc791f0b67.
2014-05-20 16:19:15 +10:00
Con Kolivas
5b7af2f7ff Avoid accessing notify instances outside of the notify lock and avoid leaking memory when we can't match the msgid in proxy_send 2014-05-20 15:44:51 +10:00
Con Kolivas
c9f550207f Send one on all process failure codes 2014-05-20 15:29:53 +10:00
Con Kolivas
cc791f0b67 Do not hand out enonce1 to new clients when no notify data exists 2014-05-20 15:11:14 +10:00
Con Kolivas
923a4abe59 Don't bother sending the listener the shutdown message since the signal handler will kill off the main thread 2014-05-20 14:52:58 +10:00
Con Kolivas
da435ac22b Handle process exiting in the watchdog by shutting down 2014-05-20 12:46:45 +10:00
Con Kolivas
1ac5fec1ee Timeout in 5 seconds on the stratum read socket allowing us to detect closed connections sooner 2014-05-20 12:37:19 +10:00
Con Kolivas
acfa048991 Clear notifies completely including the ram and discard all notifies on reconnect 2014-05-20 12:21:32 +10:00
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