Commit Graph

165 Commits

Author SHA1 Message Date
Con Kolivas
78abaedd2f Add very basic share logging 2014-05-02 09:31:10 +10:00
Con Kolivas
a864914b93 Remove all yields from unlocking functions since we'll always be running on multicore machines 2014-05-02 08:28:13 +10:00
Con Kolivas
bfb90fa632 Handle all poll revents with a recv and invalidate clients that don't respond 2014-05-02 08:25:56 +10:00
Con Kolivas
5721ec1dcf Reset revents before polling 2014-05-02 00:18:41 +10:00
Con Kolivas
68ea10ac53 Fix name 2014-05-01 23:45:08 +10:00
Con Kolivas
9290d1566a Remove old instances from regularly used hashtables 2014-05-01 20:00:58 +10:00
Con Kolivas
dc9012d777 Use a 2nd hashtable of connected clients indexed by fd for fast lookup 2014-05-01 19:47:36 +10:00
Con Kolivas
a615b56d76 Install signal handlers which push the signal to the top process which will try to gracefully shut down each child process 2014-05-01 14:12:39 +10:00
Con Kolivas
78a3121668 Add signal handlers to enable terminate requests to end cleanly allowing profile generation 2014-05-01 12:30:43 +10:00
Con Kolivas
764aa9717a Use doubly linked lists for stratum messages 2014-05-01 12:08:47 +10:00
Con Kolivas
457f1c17ee Create a separate thread for sending messages to clients, not blocking on any clients not ready for reads 2014-05-01 12:07:03 +10:00
Con Kolivas
c908088dc4 Add extended hour hashrate stats 2014-05-01 10:31:10 +10:00
Con Kolivas
31021f3d13 Create a separate hashtable for disconnected clients and only store reusable instances, adding reusable stats 2014-05-01 10:23:15 +10:00
Con Kolivas
eabd8848bc Add basic pool stats, updating and displaying them in a separate thread every 15s 2014-05-01 01:10:43 +10:00
Con Kolivas
d53715e139 Further tweak the diff, clamping it down more aggressively than up, store a 1min rolling average hashrate and display it once diff is stable 2014-04-30 00:39:20 +10:00
Con Kolivas
7ef0915aea Fix thinko in diff rate ratio calculation that was making it recalculate diff every time 2014-04-29 22:51:45 +10:00
Con Kolivas
bab86af441 Optimise receiver loop 2014-04-29 21:12:22 +10:00
Con Kolivas
7389b7b15c Cope with broken clients that don't send an integer for id 2014-04-29 19:57:47 +10:00
Con Kolivas
8521e00151 Describe user associated with client id 2014-04-29 18:45:35 +10:00
Con Kolivas
0e68d49b40 Only allow one connected instance per enonce1 2014-04-29 18:39:03 +10:00
Con Kolivas
49b38997a0 Add more logging of share information at info level of logging 2014-04-29 16:15:29 +10:00
Con Kolivas
d1805df4e0 Fix limited size of http requests to fit any size block submissions 2014-04-29 14:53:29 +10:00
Con Kolivas
32f51fdceb Fix missing break 2014-04-29 13:44:46 +10:00
Con Kolivas
9019dcb2a9 Fix deref on failed wb match 2014-04-29 13:30:29 +10:00
Con Kolivas
be746b1795 Build fix 2014-04-29 13:29:55 +10:00
Con Kolivas
1a5aa1874d Be far more generous when waiting on read_socket_line 2014-04-29 13:09:54 +10:00
Con Kolivas
e119e13fb1 Add share hashtable purging on new blocks 2014-04-29 13:08:22 +10:00
Con Kolivas
28bd379408 Create a share hashtable and look for duplicates 2014-04-29 12:50:44 +10:00
Con Kolivas
13cd35d776 Add reconnect support by matching enonce1 returned by the session id, reusing it if it exists 2014-04-29 12:20:53 +10:00
Con Kolivas
d8bb3380ae Add option to kill off old instance 2014-04-29 10:36:37 +10:00
Con Kolivas
ad5afbe6bb Add datestamp to logging 2014-04-29 10:23:16 +10:00
Con Kolivas
c274457caa Add loglevel support with default of notice level, configurable on command line 2014-04-29 10:17:42 +10:00
Con Kolivas
fd2c51bed3 Restructure includes to only have ckpool instance and proc instance in ckpool.h 2014-04-29 09:57:17 +10:00
Con Kolivas
b71c35fbd3 Define extra logging levels and their call macros 2014-04-29 08:48:40 +10:00
Con Kolivas
d84793ec43 Make sure to not remove the last 2 workbases when ageing them 2014-04-29 00:30:26 +10:00
Con Kolivas
883b4ea5ad Clamp share rates more aggressively, biasing towards lower than higher 2014-04-28 23:35:23 +10:00
Con Kolivas
955ad8de77 Shorten coinbase and avoid divide by zero error by ignoring share durations less than 1s 2014-04-28 22:58:03 +10:00
Con Kolivas
7d97ead8aa Return the correct failure type in recv_unix_msg 2014-04-28 22:16:04 +10:00
Con Kolivas
fefe13e929 Check for no response in the listener thread and allow 1 minute timeouts for receiving messages 2014-04-28 21:37:49 +10:00
Con Kolivas
077825a09d Use only the one client instance struct in connector, ensuring it gets zeroed that way 2014-04-28 14:41:34 +10:00
Con Kolivas
a6fe8f392c Sleep briefly, don't poll when no fds are present 2014-04-28 13:33:40 +10:00
Con Kolivas
c1c5b22058 There is no need to poll every second in the receiver thread 2014-04-27 22:41:07 +10:00
Con Kolivas
5f9b67f82e Avoid re-setting reject reason when sdiff is not calculated 2014-04-27 22:21:12 +10:00
Con Kolivas
7acd1b0c10 Accept the lower of new and old diffs until the next update 2014-04-27 22:16:47 +10:00
Con Kolivas
6a753c149d Clean up block solve notification and messages, sending a work restart immediately 2014-04-27 21:11:10 +10:00
Con Kolivas
0b08bbb43e Add submission of blocksolves 2014-04-27 20:51:09 +10:00
Con Kolivas
2ce326a462 Clamp worker diff to network diff 2014-04-27 16:24:44 +10:00
Con Kolivas
fd7dfc0e8a Check submitted shares against target diff 2014-04-27 16:16:48 +10:00
Con Kolivas
63008c6c0d Start assembling submit data to test its hash difficulty 2014-04-27 14:43:25 +10:00
Con Kolivas
270d540294 Keep workbases around from old blocks but reference when the block change to differentiate stale from invalid Job IDs 2014-04-27 14:10:08 +10:00