Commit Graph

  • 1ac5fec1ee Timeout in 5 seconds on the stratum read socket allowing us to detect closed connections sooner Con Kolivas 2014-05-20 12:37:19 +1000
  • acfa048991 Clear notifies completely including the ram and discard all notifies on reconnect Con Kolivas 2014-05-20 12:21:32 +1000
  • b33e44c0fe Drop all clients when we do an update_subscribe Con Kolivas 2014-05-20 12:13:18 +1000
  • 65a8b3d9fb Drop proxy connections on failing to submit messages Con Kolivas 2014-05-20 11:06:39 +1000
  • 859d5161b0 Fix total user hashrate being low with multiple workers Con Kolivas 2014-05-20 10:12:53 +1000
  • 20ffea6ed0 Store the pool rejects and log a flat pool status summary to file Con Kolivas 2014-05-20 00:28:49 +1000
  • b42ae21069 Decay user share to zero when there are no shares Con Kolivas 2014-05-19 23:56:06 +1000
  • ba7841d9b3 Create a simple one line summary file per user in logs/ Con Kolivas 2014-05-19 23:40:15 +1000
  • def617ca8e Log each user's statistics every minute Con Kolivas 2014-05-19 23:29:56 +1000
  • 8db9c09427 Update the statistics per user in add_submit Con Kolivas 2014-05-19 23:16:09 +1000
  • a53c43cdaf Create pseudo user matching based on workername parsing Con Kolivas 2014-05-19 23:06:11 +1000
  • 2cce50cfa0 Use int64s for diffs Con Kolivas 2014-05-19 22:12:55 +1000
  • 21e6b2704e Use doubles for per client diffs and display the total accepted hashes in the console log Con Kolivas 2014-05-19 22:02:37 +1000
  • 228ec71055 Fix overflow issue with diff in submission_diff Con Kolivas 2014-05-19 21:35:06 +1000
  • f2361b921b Create a hashtable of shares we submit in proxy mode to compare responses for future logging Con Kolivas 2014-05-19 17:12:43 +1000
  • 7c98ab5c1d Store structures for all possible upstream servers to allow us to choose an alive one for now with a view to enable switching Con Kolivas 2014-05-19 15:36:14 +1000
  • 26cc00b013 Implement stratum show_message support Con Kolivas 2014-05-19 14:02:03 +1000
  • a11d64f120 Parse the send_version request an return package/version Con Kolivas 2014-05-19 13:57:59 +1000
  • 14a8430265 Propagate the upstream pool's diff to clients as soon as it has dropped if it's below their current setting Con Kolivas 2014-05-19 00:03:33 +1000
  • 00364f6d28 Remove redundant variables Con Kolivas 2014-05-18 23:47:45 +1000
  • b1b79e0efc There is no need to hold the workbase lock when submitting a share Con Kolivas 2014-05-18 23:43:08 +1000
  • 50f7da96bb Show the network or max pool diff along with the share diff in verbose logging Con Kolivas 2014-05-18 23:19:10 +1000
  • d8882dacaf Store the block height in proxy mode by extracting it from the coinbase Con Kolivas 2014-05-18 22:57:00 +1000
  • 4f60dc1b8a Provide a way to extract a serialised integer Con Kolivas 2014-05-18 22:54:42 +1000
  • f07fb994ed Fix missing close socket in connector Con Kolivas 2014-05-18 21:24:30 +1000
  • 29a8235c64 Only start the blockupdate thread if we're not in proxy mode Con Kolivas 2014-05-18 20:49:32 +1000
  • 09cf4f984e Change the current workbase diff when the parent pool diff changes Con Kolivas 2014-05-18 20:41:55 +1000
  • e36e5ce010 Submit the actual shares sent to the proxy upstream Con Kolivas 2014-05-18 20:15:07 +1000
  • d265e51664 Create a send processing queue in the proxy generator and receive shares that meet the parent pool target Con Kolivas 2014-05-18 19:31:58 +1000
  • 6d11b8b546 Keep track of the most current stratum notification and age notifications older than 10 mins old Con Kolivas 2014-05-18 17:05:29 +1000
  • 72e6026052 Fix various coinbase assembly issues Con Kolivas 2014-05-18 15:32:39 +1000
  • db1b2b45a4 Parse the mining difficulty when proxying and store it in the stratifier as the current workbase diff. Update notify and diff in stratifier when a change is deteced. Con Kolivas 2014-05-18 14:46:24 +1000
  • 747e689de9 Make each proxied client's enonce1 a function of the constant enonce1 and the extra bytes from the nonce2 which are unique for each client instance Con Kolivas 2014-05-18 10:24:41 +1000
  • da383b8735 Store the notify data coming from the proxifier to the stratifier and create the basic work templates Con Kolivas 2014-05-18 00:10:12 +1000
  • faf87ceeee Store the proxy base subscribe details in a struct protected by the workbase lock Con Kolivas 2014-05-17 20:36:59 +1000
  • 860abc7903 Fail in proxy mode if the nonce2 length is too small to successfully proxy Con Kolivas 2014-05-17 19:53:11 +1000
  • fae9983fd7 Inform the stratifier process of the data in subscribe and notify from the generator proxy Con Kolivas 2014-05-17 19:44:27 +1000
  • 54883b37fd Make read_socket_line accept a timeout in seconds Con Kolivas 2014-05-17 14:17:42 +1000
  • dacb261ad5 Store the proxy method results in a unique struct and add it to a hashtable of notifications Con Kolivas 2014-05-16 17:37:33 +1000
  • a879f43f7a Parse stratum proxy responses till we get the authorisation response Con Kolivas 2014-05-16 15:00:45 +1000
  • 0f4dff3144 Parse a proxy subscribe response as flexibly as possible Con Kolivas 2014-05-16 14:33:08 +1000
  • 6ac33e57ac Create initial stratum proxy connection Con Kolivas 2014-05-16 12:42:50 +1000
  • 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 Con Kolivas 2014-05-16 10:06:27 +1000
  • 0256ad517b Accept an array of entries for bitcoinds and take initial values for proxying Con Kolivas 2014-05-16 00:13:03 +1000
  • 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 Con Kolivas 2014-05-13 12:11:39 +1000
  • 08326b2d09 More explicit message Con Kolivas 2014-05-12 23:04:00 +1000
  • 8631f33809 Accept ping requests on the various unix sockets Con Kolivas 2014-05-12 22:49:39 +1000
  • 686d6da799 Send shutdown messages to the listener thread on watchdog shutdown or signal handling Con Kolivas 2014-05-12 22:34:24 +1000
  • 75db39209f Abort trying to relaunch processes if we're relaunching them too fast Con Kolivas 2014-05-12 22:09:06 +1000
  • b85946cc31 Failure to accept in connector should be a fatal error Con Kolivas 2014-05-12 22:03:09 +1000
  • 7ab22aa1ec Consider other modes of generator failure terminal and shut down Con Kolivas 2014-05-12 21:56:59 +1000
  • 28f3f6cb2e Shut down more gracefully on startup failure Con Kolivas 2014-05-12 21:51:18 +1000
  • e3fef890a0 Provide helpers for writing/selecting on a socket Con Kolivas 2014-05-05 14:01:17 +1000
  • 5e15e80327 Provide helpers for waiting on and reading a certain amount on a socket Con Kolivas 2014-05-05 13:52:34 +1000
  • 4f1d13e922 Send the last remaining send request without checking if it is ready for writes to avoid busy looping Con Kolivas 2014-05-05 13:19:36 +1000
  • 034e30ca8d Don't try to send a message to clients that will be invalidated Con Kolivas 2014-05-05 09:17:53 +1000
  • 0e8fa71c11 Drop the connections to clients that are unauthorised, which also makes stratifier restarts work Con Kolivas 2014-05-05 09:10:05 +1000
  • 2ffdd791f7 Add support for dropclient being sent to the connector process Con Kolivas 2014-05-05 09:01:43 +1000
  • 93dafcf459 Store the ckpool struct pointer in workbase and client structs to avoid referencing the global pointer Con Kolivas 2014-05-05 08:47:24 +1000
  • 883c033ea3 Add share logging of whatever we can from rejected shares Con Kolivas 2014-05-05 00:01:19 +1000
  • 02438119b8 Show correct share count Con Kolivas 2014-05-03 22:18:15 +1000
  • c05cbcd135 Fix warning Con Kolivas 2014-05-03 22:11:28 +1000
  • 78fbb4e91d Make logging directory configurable, and store share logs by height/workid and totals for the pool as well Con Kolivas 2014-05-03 22:04:42 +1000
  • 4f106a6736 Display shares and share rate in logging Con Kolivas 2014-05-03 20:59:14 +1000
  • 3dc5f4c0c2 May as well store the share diff since we've calculated it Con Kolivas 2014-05-03 20:36:55 +1000
  • 5cfd5e7b17 Minor change Con Kolivas 2014-05-03 20:24:43 +1000
  • c57519f4ff Make job id a 64 bit variable to allow it to be unique on each restart, with time for the higher bits Con Kolivas 2014-05-03 20:23:20 +1000
  • 4b7af07036 Minor unlock cleanup Con Kolivas 2014-05-03 19:59:59 +1000
  • a89e1fb9af Add a stratum message sending function and a welcome message on connecting Con Kolivas 2014-05-03 19:36:43 +1000
  • a524544367 Display hashrates also biased with time Con Kolivas 2014-05-03 16:43:13 +1000
  • 9c30d46b08 Bias early shares based on a simpler exponential function based on time since first share when calculating dsps Con Kolivas 2014-05-03 16:23:54 +1000
  • b5caeedf73 Use a single rolling average for worker hashrate calculation and an exponential bias based on time to work out diff Con Kolivas 2014-05-03 01:53:30 +1000
  • 55045434f1 Make the start and minimum diff configurable and set them to 42 and 1 by default Con Kolivas 2014-05-02 23:01:53 +1000
  • 351e7470fb Count rejected shares in diff management Con Kolivas 2014-05-02 22:22:39 +1000
  • 78abaedd2f Add very basic share logging Con Kolivas 2014-05-02 09:31:10 +1000
  • a864914b93 Remove all yields from unlocking functions since we'll always be running on multicore machines Con Kolivas 2014-05-02 08:28:13 +1000
  • bfb90fa632 Handle all poll revents with a recv and invalidate clients that don't respond Con Kolivas 2014-05-02 08:25:56 +1000
  • 5721ec1dcf Reset revents before polling Con Kolivas 2014-05-02 00:18:41 +1000
  • 68ea10ac53 Fix name Con Kolivas 2014-05-01 23:45:08 +1000
  • 9290d1566a Remove old instances from regularly used hashtables Con Kolivas 2014-05-01 20:00:58 +1000
  • dc9012d777 Use a 2nd hashtable of connected clients indexed by fd for fast lookup Con Kolivas 2014-05-01 19:47:36 +1000
  • a615b56d76 Install signal handlers which push the signal to the top process which will try to gracefully shut down each child process Con Kolivas 2014-05-01 14:12:39 +1000
  • 78a3121668 Add signal handlers to enable terminate requests to end cleanly allowing profile generation Con Kolivas 2014-05-01 12:30:43 +1000
  • 764aa9717a Use doubly linked lists for stratum messages Con Kolivas 2014-05-01 12:08:47 +1000
  • 457f1c17ee Create a separate thread for sending messages to clients, not blocking on any clients not ready for reads Con Kolivas 2014-05-01 12:07:03 +1000
  • c908088dc4 Add extended hour hashrate stats Con Kolivas 2014-05-01 10:31:10 +1000
  • 31021f3d13 Create a separate hashtable for disconnected clients and only store reusable instances, adding reusable stats Con Kolivas 2014-05-01 10:23:15 +1000
  • eabd8848bc Add basic pool stats, updating and displaying them in a separate thread every 15s Con Kolivas 2014-05-01 01:10:43 +1000
  • 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 Con Kolivas 2014-04-30 00:39:20 +1000
  • 7ef0915aea Fix thinko in diff rate ratio calculation that was making it recalculate diff every time Con Kolivas 2014-04-29 22:51:45 +1000
  • bab86af441 Optimise receiver loop Con Kolivas 2014-04-29 21:12:22 +1000
  • 7389b7b15c Cope with broken clients that don't send an integer for id Con Kolivas 2014-04-29 19:57:47 +1000
  • 8521e00151 Describe user associated with client id Con Kolivas 2014-04-29 18:45:35 +1000
  • 0e68d49b40 Only allow one connected instance per enonce1 Con Kolivas 2014-04-29 18:39:03 +1000
  • 49b38997a0 Add more logging of share information at info level of logging Con Kolivas 2014-04-29 16:15:29 +1000
  • d1805df4e0 Fix limited size of http requests to fit any size block submissions Con Kolivas 2014-04-29 14:53:29 +1000
  • 32f51fdceb Fix missing break Con Kolivas 2014-04-29 13:44:46 +1000
  • 9019dcb2a9 Fix deref on failed wb match Con Kolivas 2014-04-29 13:30:29 +1000
  • be746b1795 Build fix Con Kolivas 2014-04-29 13:29:55 +1000
  • 1a5aa1874d Be far more generous when waiting on read_socket_line Con Kolivas 2014-04-29 13:09:54 +1000