Commit Graph

202 Commits

Author SHA1 Message Date
Con Kolivas
54883b37fd Make read_socket_line accept a timeout in seconds 2014-05-17 14:17:42 +10:00
Con Kolivas
dacb261ad5 Store the proxy method results in a unique struct and add it to a hashtable of notifications 2014-05-16 17:37:33 +10:00
Con Kolivas
a879f43f7a Parse stratum proxy responses till we get the authorisation response 2014-05-16 15:00:45 +10:00
Con Kolivas
0f4dff3144 Parse a proxy subscribe response as flexibly as possible 2014-05-16 14:33:08 +10:00
Con Kolivas
6ac33e57ac Create initial stratum proxy connection 2014-05-16 12:42:50 +10:00
Con Kolivas
8af64746bf Change config format to take url auth and pass for both btcd and proxy and choose which to use in the generator based on proxy bool 2014-05-16 10:06:27 +10:00
Con Kolivas
0256ad517b Accept an array of entries for bitcoinds and take initial values for proxying 2014-05-16 00:13:03 +10:00
Con Kolivas
78c1b2dfda Make process instances an array within the ckpool struct allowing us to enable only those we need when we add more modules to future code 2014-05-13 12:11:39 +10:00
Con Kolivas
08326b2d09 More explicit message 2014-05-12 23:04:00 +10:00
Con Kolivas
8631f33809 Accept ping requests on the various unix sockets 2014-05-12 22:49:39 +10:00
Con Kolivas
686d6da799 Send shutdown messages to the listener thread on watchdog shutdown or signal handling 2014-05-12 22:34:24 +10:00
Con Kolivas
75db39209f Abort trying to relaunch processes if we're relaunching them too fast 2014-05-12 22:09:06 +10:00
Con Kolivas
b85946cc31 Failure to accept in connector should be a fatal error 2014-05-12 22:03:09 +10:00
Con Kolivas
7ab22aa1ec Consider other modes of generator failure terminal and shut down 2014-05-12 21:56:59 +10:00
Con Kolivas
28f3f6cb2e Shut down more gracefully on startup failure 2014-05-12 21:51:18 +10:00
Con Kolivas
e3fef890a0 Provide helpers for writing/selecting on a socket 2014-05-05 14:01:17 +10:00
Con Kolivas
5e15e80327 Provide helpers for waiting on and reading a certain amount on a socket 2014-05-05 13:52:34 +10:00
Con Kolivas
4f1d13e922 Send the last remaining send request without checking if it is ready for writes to avoid busy looping 2014-05-05 13:19:36 +10:00
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