60 Commits (78abaedd2f3bdade4e0cc21914e9fcddec6bba58)

Author SHA1 Message Date
Con Kolivas 78abaedd2f Add very basic share logging 11 years ago
Con Kolivas a615b56d76 Install signal handlers which push the signal to the top process which will try to gracefully shut down each child process 11 years ago
Con Kolivas 764aa9717a Use doubly linked lists for stratum messages 11 years ago
Con Kolivas 457f1c17ee Create a separate thread for sending messages to clients, not blocking on any clients not ready for reads 11 years ago
Con Kolivas c908088dc4 Add extended hour hashrate stats 11 years ago
Con Kolivas 31021f3d13 Create a separate hashtable for disconnected clients and only store reusable instances, adding reusable stats 11 years ago
Con Kolivas eabd8848bc Add basic pool stats, updating and displaying them in a separate thread every 15s 11 years ago
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 11 years ago
Con Kolivas 7ef0915aea Fix thinko in diff rate ratio calculation that was making it recalculate diff every time 11 years ago
Con Kolivas 7389b7b15c Cope with broken clients that don't send an integer for id 11 years ago
Con Kolivas 8521e00151 Describe user associated with client id 11 years ago
Con Kolivas 0e68d49b40 Only allow one connected instance per enonce1 11 years ago
Con Kolivas 49b38997a0 Add more logging of share information at info level of logging 11 years ago
Con Kolivas 9019dcb2a9 Fix deref on failed wb match 11 years ago
Con Kolivas e119e13fb1 Add share hashtable purging on new blocks 11 years ago
Con Kolivas 28bd379408 Create a share hashtable and look for duplicates 11 years ago
Con Kolivas 13cd35d776 Add reconnect support by matching enonce1 returned by the session id, reusing it if it exists 11 years ago
Con Kolivas fd2c51bed3 Restructure includes to only have ckpool instance and proc instance in ckpool.h 11 years ago
Con Kolivas d84793ec43 Make sure to not remove the last 2 workbases when ageing them 11 years ago
Con Kolivas 883b4ea5ad Clamp share rates more aggressively, biasing towards lower than higher 11 years ago
Con Kolivas 955ad8de77 Shorten coinbase and avoid divide by zero error by ignoring share durations less than 1s 11 years ago
Con Kolivas 5f9b67f82e Avoid re-setting reject reason when sdiff is not calculated 11 years ago
Con Kolivas 7acd1b0c10 Accept the lower of new and old diffs until the next update 11 years ago
Con Kolivas 0b08bbb43e Add submission of blocksolves 11 years ago
Con Kolivas 2ce326a462 Clamp worker diff to network diff 11 years ago
Con Kolivas fd7dfc0e8a Check submitted shares against target diff 11 years ago
Con Kolivas 63008c6c0d Start assembling submit data to test its hash difficulty 11 years ago
Con Kolivas 270d540294 Keep workbases around from old blocks but reference when the block change to differentiate stale from invalid Job IDs 11 years ago
Con Kolivas f038cf4b16 Add support for setting reject-reason in stratum submit parsing 11 years ago
Con Kolivas ea90d65d30 Round the optimal value for diff 11 years ago
Con Kolivas c076ad9509 Change target spm to 18 and count hashrate from first share submitted, fixing divide by zero possibility 11 years ago
Con Kolivas 91854f81ec Cope with failure to get a single block template more gracefully 11 years ago
Con Kolivas 4e4ad53e98 Implement diff tracking by job id and vardiff to maintain share submission rate of 20pm 11 years ago
Con Kolivas e383d6f736 Invalidate workbases from old blocks and reject shares that don't have a matching workbase 11 years ago
Con Kolivas b6030d3809 Close sockets immediately after every received message in connector and stratifier 11 years ago
Con Kolivas cecaad4095 Add some sanity checking to params sent with share submission and clear memory used when workbases are dropped 11 years ago
Con Kolivas 6a7e1bcc37 Add fake submit parsing and poll every second instead of millisecond 11 years ago
Con Kolivas 3bee9efed6 Remove invalidated clients from broadcasts 11 years ago
Con Kolivas 9d73d6b145 Add broadcasting of stratum updates to all authorised users, with further json fixes 11 years ago
Con Kolivas db5aece42a Fix mining notify json and add basic authorise mechanism 11 years ago
Con Kolivas 2e1a1100d3 Send a stratum parameter update to a client that's just subscribed, caching parameters that will be reused 11 years ago
Con Kolivas 7cf768fddf Cope with the unlikely event we have been requested a mining subscribe before any work templates have been generated 11 years ago
Con Kolivas 4916591ae5 Create response to mining.subscribe request and deny all other invalid requests 11 years ago
Con Kolivas 126c7964e2 Add a json parser to the stratum receiver that will generate return messages 11 years ago
Con Kolivas 4f0379299a Create new stratum instances for each new client id, adding them to a hashtable 11 years ago
Con Kolivas df64af6ce4 Add a stratum add sending function for adding messages to send to the linked list 11 years ago
Con Kolivas 04c5de6ad0 Store the latest hash, noting when it changes to allow stratum clean notification 11 years ago
Con Kolivas 080eef5f31 Send and receive stratum messages via their own threads that add and remove client ids to the json using linked lists and pthread conditionals to wake them 11 years ago
Con Kolivas e946665023 Create stratum receive/send threads that will use their own hashtables and conditionals to do work 11 years ago
Con Kolivas 1b745f0db3 Pass recognised json messages sent to connector to stratifier with the added client_id field 11 years ago