Commit Graph

279 Commits

Author SHA1 Message Date
Con Kolivas
601fb8cb34 Fix off-by-one error 2014-05-26 22:47:58 +10:00
Con Kolivas
d4e6668865 Fix minor uninitialised ram and leak issues 2014-05-26 22:43:41 +10:00
Con Kolivas
3931e7bee9 Avoid realloc being required in send_json_msg 2014-05-26 18:54:56 +10:00
Con Kolivas
a3a586ee6e Use the retry on EINTR only on unix sockets 2014-05-26 18:42:55 +10:00
Con Kolivas
306392950f Zero the read buffer fully in read_socket_line and handle closed sockets gracefully 2014-05-26 18:31:32 +10:00
Con Kolivas
67fefd2675 Fall over to another bitcoind if any of our calls fail 2014-05-26 17:34:29 +10:00
Con Kolivas
0b4c6c7821 Make the gbtbase data the private data per server instance 2014-05-26 17:09:16 +10:00
Con Kolivas
e959ba39a4 Iterate over the configured btcds, finding the first working one; failover to be added later 2014-05-26 16:57:36 +10:00
Con Kolivas
82fe18554f Add total shares from each user to pool accounted diff shares 2014-05-24 21:30:35 +10:00
Con Kolivas
ca176c8e1d Fall over to the first working stratum proxy whenever we are disconnected 2014-05-24 17:09:15 +10:00
Con Kolivas
3c70130ae2 Only show user share summary on block solve if they had any 2014-05-24 15:25:07 +10:00
Con Kolivas
9b95920ab5 Remove redundant comment and there is no point capping shares to 5xdiff 2014-05-24 14:30:51 +10:00
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