Commit Graph

267 Commits

Author SHA1 Message Date
Con Kolivas
d1e0072efd Load user stats on startup to ensure we don't miss clients that don't reconnect on a pool restart 2014-05-24 13:34:22 +10:00
Con Kolivas
40807602c9 Fix macro variable name clashing and crash on logging prior to logfile being set 2014-05-24 10:18:51 +10:00
Con Kolivas
7fabe1f14f With sigpipe masked, interrupted send calls are likely fatal 2014-05-24 00:27:52 +10:00
Con Kolivas
01d5b71bef Broadcast to miners a message when the pool has solved a block 2014-05-23 15:10:20 +10:00
Con Kolivas
b4e6aef470 Log all output to a logfile, display all warnings, and use locking to prevent overlapped messages 2014-05-23 12:56:24 +10:00
Con Kolivas
f48558d2b5 Detach child processes from the tty leaving only the main process to talk to it and exit all processes in a consistent way with more information on termination 2014-05-23 10:05:22 +10:00
ckolivas
ed270c92fc PPLNS window should just be network diff 2014-05-22 11:08:01 +10:00
ckolivas
2358d03037 Add pplns shares from reconnected users to the pool's total 2014-05-22 10:33:10 +10:00
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