Commit Graph

143 Commits

Author SHA1 Message Date
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
Con Kolivas
f038cf4b16 Add support for setting reject-reason in stratum submit parsing 2014-04-27 14:01:35 +10:00
Con Kolivas
ea90d65d30 Round the optimal value for diff 2014-04-27 13:05:57 +10:00
Con Kolivas
c076ad9509 Change target spm to 18 and count hashrate from first share submitted, fixing divide by zero possibility 2014-04-27 12:29:53 +10:00
Con Kolivas
91854f81ec Cope with failure to get a single block template more gracefully 2014-04-27 10:17:38 +10:00
Con Kolivas
4e4ad53e98 Implement diff tracking by job id and vardiff to maintain share submission rate of 20pm 2014-04-27 09:55:30 +10:00
Con Kolivas
e383d6f736 Invalidate workbases from old blocks and reject shares that don't have a matching workbase 2014-04-26 23:28:49 +10:00
Con Kolivas
328a85c1fe Only assume clients have disconnected on an error from recv 2014-04-26 09:13:26 +10:00
Con Kolivas
b6030d3809 Close sockets immediately after every received message in connector and stratifier 2014-04-26 08:54:18 +10:00
Con Kolivas
cecaad4095 Add some sanity checking to params sent with share submission and clear memory used when workbases are dropped 2014-04-26 02:36:34 +10:00
Con Kolivas
9db3db3b8b Enable keepalive and nodelay for remote clients and remove mistaken setting of noblock, and add reuseaddr option to sockets 2014-04-26 02:05:27 +10:00
Con Kolivas
6a7e1bcc37 Add fake submit parsing and poll every second instead of millisecond 2014-04-26 01:25:42 +10:00
Con Kolivas
3bee9efed6 Remove invalidated clients from broadcasts 2014-04-26 01:08:45 +10:00
Con Kolivas
9d73d6b145 Add broadcasting of stratum updates to all authorised users, with further json fixes 2014-04-26 00:46:21 +10:00
Con Kolivas
db5aece42a Fix mining notify json and add basic authorise mechanism 2014-04-25 22:40:41 +10:00
Con Kolivas
2e1a1100d3 Send a stratum parameter update to a client that's just subscribed, caching parameters that will be reused 2014-04-25 21:29:38 +10:00
Con Kolivas
7cf768fddf Cope with the unlikely event we have been requested a mining subscribe before any work templates have been generated 2014-04-25 20:29:35 +10:00
Con Kolivas
4916591ae5 Create response to mining.subscribe request and deny all other invalid requests 2014-04-25 20:27:28 +10:00
Con Kolivas
8be725bde6 Retry binding the connector to the socket for up to 2 minutes 2014-04-25 19:32:24 +10:00
Con Kolivas
7f0824260b Disconnect clients that send invalid json 2014-04-25 19:18:22 +10:00
Con Kolivas
72ebb96ef6 Return a json response to any valid json from the stratifier to connector to send to the relevant connected client 2014-04-25 19:08:53 +10:00
Con Kolivas
126c7964e2 Add a json parser to the stratum receiver that will generate return messages 2014-04-25 18:34:52 +10:00
Con Kolivas
4f0379299a Create new stratum instances for each new client id, adding them to a hashtable 2014-04-25 14:10:50 +10:00