2790 Commits (1858acbc56b9e7adbfc5571e0223d17a821b5797)

Author SHA1 Message Date
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 8be725bde6 Retry binding the connector to the socket for up to 2 minutes 11 years ago
Con Kolivas 7f0824260b Disconnect clients that send invalid json 11 years ago
Con Kolivas 72ebb96ef6 Return a json response to any valid json from the stratifier to connector to send to the relevant connected client 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
Con Kolivas 718bf11a46 Reference clients by id, not fd since fd can be the same and be invalidated 11 years ago
Con Kolivas 5a0d3f8d24 Create a hashtable of workbases as they're created, removing them if they're older than 10 minutes old 11 years ago
Con Kolivas 438f8c4472 Add the beginnings of a sanity checking client message parser 11 years ago
Con Kolivas f2b32839c1 Create a client instance hash table and use it to determine which fds need to be polled 11 years ago
Con Kolivas 3c21f90aab Use poll to connect many clients and see which connections need to be read in connector 11 years ago
Con Kolivas bcbafba42e Create a thread from the connector process that listens for incoming connections and opens new connections for them 11 years ago
Con Kolivas 55b8e8424a Add connector process which will process all remote communications 11 years ago
Con Kolivas 9e92be3f5e Use a longer timeout for reading a socket line, along with a select timeout on each loop through the read function to increase reliability over network connections 11 years ago
Con Kolivas 4ab9120e61 Handle failed generator startup as a fatal startup, sending listener a shutdown message and adding shutdown parsing 11 years ago
Con Kolivas 2b1f9510cf Add a block update thread that polls bitcoind regularly for the latest hash and handle failed json requests as closed sockets 11 years ago
Con Kolivas 8f0958bbfb Add some default parameters to make polling intervals configurable 11 years ago
Con Kolivas 2bcdc4bcce Cache the header binary that will be used for work reconstruction 11 years ago
Con Kolivas 86159a60ec Generate coinbase templates, fixing missing fields from gbt parser 11 years ago
Con Kolivas 3cd82a5dd1 Validate pool address on starting generator 11 years ago
Con Kolivas 4766e90df2 Left out nbit from parsing 11 years ago
Con Kolivas b65c555d87 Decode the generator response and store the variables in the stratifier 11 years ago
Con Kolivas bbd4e59069 Use the send recv proc helper in the stratifier process 11 years ago
Con Kolivas 1953cd2935 Add helper functions for sending/receiving to a process instance 11 years ago
Con Kolivas a723e70f51 Remove signal handlers and use a watchdog thread to watch for dead child processes and restart them 11 years ago
Con Kolivas 0d3d2434be Use name for socket directory and add more config options 11 years ago
Con Kolivas 6f1838536c Create a stratifier thread that updates the data from the gbt template regularly and receives other requests 11 years ago
Con Kolivas 945c730447 Add and test a getbase function of the generator process 11 years ago
Con Kolivas 6f679e1cf4 Create the main read parse loop for the generator and send it a test message 11 years ago
Con Kolivas eb041c331f Use a consistent method for sending/receiving messages across unix sockets 11 years ago
Con Kolivas 0da6336602 Fix gbt base generation, be more flexible with reading lines from socket, and add gbtbase clearing function 11 years ago
Con Kolivas 4c4246c8d4 Create basic connsock data and connect to socket in generator 11 years ago
Con Kolivas 194c8e42f3 Begin parsing of a config file, storing btcd url, auth and pass 11 years ago
Con Kolivas 15170c79d2 Original sighandlers don't actually come in useful here 11 years ago
Con Kolivas 219c49817e Install the signal handlers only for the master process and try to clean up in consistent fashion with handler 11 years ago
Con Kolivas f864e1176c Install signal handlers and store the originals in the ckpool_t 11 years ago
Con Kolivas 2f7f3ecad4 Store the pid in the proc instance structure and try to clean up on processes exiting 11 years ago
Con Kolivas 10c2b48b4f Rename processes and change generator function to suit pi model 11 years ago
Con Kolivas 2c9653d138 Add a process structure to contain all variables likely to be used by spawned processes 11 years ago
Con Kolivas 9544d280e3 Launch generator process and abstract out more of the per process files created 11 years ago
Con Kolivas e5d9d0a609 Use no global variables and append / to all directory names 11 years ago
Con Kolivas 8a23b0bb28 Write the pid to a temporary file 11 years ago
Con Kolivas 41bc9865c9 Begin basic main function parsing parameters, create a directory for sockets and create a listener thread 11 years ago