Commit Graph

184 Commits

Author SHA1 Message Date
Con Kolivas
034e30ca8d Don't try to send a message to clients that will be invalidated 2014-05-05 09:17:53 +10:00
Con Kolivas
0e8fa71c11 Drop the connections to clients that are unauthorised, which also makes stratifier restarts work 2014-05-05 09:10:05 +10:00
Con Kolivas
2ffdd791f7 Add support for dropclient being sent to the connector process 2014-05-05 09:01:43 +10:00
Con Kolivas
93dafcf459 Store the ckpool struct pointer in workbase and client structs to avoid referencing the global pointer 2014-05-05 08:47:24 +10:00
Con Kolivas
883c033ea3 Add share logging of whatever we can from rejected shares 2014-05-05 00:01:19 +10:00
Con Kolivas
02438119b8 Show correct share count 2014-05-03 22:18:15 +10:00
Con Kolivas
c05cbcd135 Fix warning 2014-05-03 22:11:28 +10:00
Con Kolivas
78fbb4e91d Make logging directory configurable, and store share logs by height/workid and totals for the pool as well 2014-05-03 22:04:42 +10:00
Con Kolivas
4f106a6736 Display shares and share rate in logging 2014-05-03 20:59:14 +10:00
Con Kolivas
3dc5f4c0c2 May as well store the share diff since we've calculated it 2014-05-03 20:36:55 +10:00
Con Kolivas
5cfd5e7b17 Minor change 2014-05-03 20:24:43 +10:00
Con Kolivas
c57519f4ff Make job id a 64 bit variable to allow it to be unique on each restart, with time for the higher bits 2014-05-03 20:23:20 +10:00
Con Kolivas
4b7af07036 Minor unlock cleanup 2014-05-03 19:59:59 +10:00
Con Kolivas
a89e1fb9af Add a stratum message sending function and a welcome message on connecting 2014-05-03 19:36:43 +10:00
Con Kolivas
a524544367 Display hashrates also biased with time 2014-05-03 16:43:13 +10:00
Con Kolivas
9c30d46b08 Bias early shares based on a simpler exponential function based on time since first share when calculating dsps 2014-05-03 16:23:54 +10:00
Con Kolivas
b5caeedf73 Use a single rolling average for worker hashrate calculation and an exponential bias based on time to work out diff 2014-05-03 01:53:30 +10:00
Con Kolivas
55045434f1 Make the start and minimum diff configurable and set them to 42 and 1 by default 2014-05-02 23:01:53 +10:00
Con Kolivas
351e7470fb Count rejected shares in diff management 2014-05-02 22:22:39 +10:00
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