Commit Graph

  • e3e83df196 Add a small sleep between attempts at pinging the stratifier at startup to avoid floods of messages ckolivas 2015-02-25 15:29:39 +1100
  • 47be81bc04 Cope with null message in send_proc ckolivas 2015-02-25 15:08:41 +1100
  • 16bd2fc352 Redirect from existing parent when child gets a reconnect ckolivas 2015-02-25 13:36:04 +1100
  • 90ab75ce24 Drop subproxies when the parent proxy thread exits ckolivas 2015-02-25 11:26:52 +1100
  • 0fa55f311f Finesse what messages to send ckolivas 2015-02-25 11:10:59 +1100
  • d103ea97df Only kill off proxy if it's actually dead ckolivas 2015-02-25 10:57:56 +1100
  • 30297c3ba2 Revert ret < 0 check but keep recruiting of new subproxies ckolivas 2015-02-25 10:35:13 +1100
  • 576ac8f71a Check return value of subsequent read_socket_line, disabling a subproxy if it has failed and recruit more subproxies if required ckolivas 2015-02-25 10:12:09 +1100
  • bc7d59ad66 Recruit extra subproxies on a new parent with a small nonce size, being more verbose about proxy recruitment ckolivas 2015-02-25 10:02:59 +1100
  • e6b79715cb Abstract out recruit_subproxies function ckolivas 2015-02-25 09:57:26 +1100
  • 3fd9ead54a Parse any extra data already in the cs buffer in proxy_recv before returning to the epoll loop ckolivas 2015-02-25 08:40:19 +1100
  • d4304de798 These weren't the droids we were looking for. Con Kolivas 2015-02-24 23:46:34 +1100
  • ddfc0dbfd4 Only dec worker if user exists Con Kolivas 2015-02-24 10:32:51 +1100
  • c6336cdc26 Count dropped workers in _dec_instance_ref Con Kolivas 2015-02-23 20:21:05 +1100
  • 66e6b1fa76 Unused variable Con Kolivas 2015-02-24 23:42:16 +1100
  • 222880d234 Revert "Create generic workqueue function and message receiving and parsing helpers" Con Kolivas 2015-02-24 23:41:32 +1100
  • f027885ff6 These weren't the droids we were looking for. Con Kolivas 2015-02-24 23:41:00 +1100
  • 228c2cf19b These weren't the droids we were looking for Con Kolivas 2015-02-24 23:30:35 +1100
  • 8386d8aede Reset the recruit count in the event of failed proxy_alive test Con Kolivas 2015-02-24 22:46:01 +1100
  • d75dd5543c Try async messages again Con Kolivas 2015-02-24 22:26:37 +1100
  • d745e7135d Remove the old proxy on a reconnect so we don't send shares nowhere Con Kolivas 2015-02-24 22:00:38 +1100
  • 918a6ebe0c Make the stratifier tell the generator precisely how many extra connections we need Con Kolivas 2015-02-24 21:57:27 +1100
  • a6ac868cd3 Rework subproxy recruitment to allow requests to stack but abandon them if the subproxy is not alive Con Kolivas 2015-02-24 21:16:37 +1100
  • daa478f1f5 Off by one on headroom Con Kolivas 2015-02-24 20:51:16 +1100
  • cd342551a8 Count reconnecting clients as part of the headroom consumed Con Kolivas 2015-02-24 20:38:44 +1100
  • 89f22deaff Remove fds from the proxy recv epoll when they're being closed Con Kolivas 2015-02-24 20:32:57 +1100
  • ad5def42d2 Reassess headroom and recruit extra proxies upon receiving each new subscribe Con Kolivas 2015-02-24 19:58:48 +1100
  • 565d253e3f Reassess on all notifies Con Kolivas 2015-02-24 18:28:20 +1100
  • 6f08c301e9 Tweak reconnects Con Kolivas 2015-02-24 18:18:22 +1100
  • 95102da854 Only set current proxy to a parent proxy Con Kolivas 2015-02-24 17:50:38 +1100
  • 7a4cab1a88 Reset parent proxy as well in reap_proxies and add some sanity checks, removing now unused retired proxies list Con Kolivas 2015-02-24 17:38:32 +1100
  • 0e70b8bf19 Reuse proxies that are still alive and no longer have any clients bound to them Con Kolivas 2015-02-24 17:16:13 +1100
  • 2054f116d7 Only reconnect with the parent proxy notify Con Kolivas 2015-02-24 16:56:33 +1100
  • dd4b563cb9 Clean up and test return values of share decoding in submit_share Con Kolivas 2015-02-24 16:49:17 +1100
  • 55d616817b Use the proxy id to determine if we should try reconnecting clients on notify Con Kolivas 2015-02-24 16:14:19 +1100
  • 75b9a4f140 Reconnect clients on every notify from a subproxy Con Kolivas 2015-02-24 15:49:09 +1100
  • 484bdbaad2 Cosmetic Con Kolivas 2015-02-24 15:39:50 +1100
  • 7009fb1077 Reconnect clients whenever we detect a new notify from a subproxy of the current proxy Con Kolivas 2015-02-24 15:37:48 +1100
  • 73dab07652 Add proxy selection info Con Kolivas 2015-02-24 15:32:42 +1100
  • 9234ced6f2 Give subproxy the lowid of the parent proxy Con Kolivas 2015-02-24 14:39:28 +1100
  • 668d96710e Check lowids in selecting stratum data Con Kolivas 2015-02-24 14:35:41 +1100
  • 2b6b3fdbd7 Look for replacement proxies in wait_best_proxy as well Con Kolivas 2015-02-24 14:14:45 +1100
  • 2f2d454763 Create new instances of proxies on reconnect instead of trying to overwrite old ones on reconnect Con Kolivas 2015-02-24 14:01:37 +1100
  • 14873b44b7 Convert proxy id to int64 Con Kolivas 2015-02-24 13:05:36 +1100
  • ac86d9b736 Add an HASH_REPLACE_I64 helper macro Con Kolivas 2015-02-24 12:43:10 +1100
  • 7f129e93c8 Revert "Revert "Rate limit proxy recruiting to one thread at a time"" Con Kolivas 2015-02-24 11:39:13 +1100
  • 80c0ddb346 Revert "Rate limit proxy recruiting to one thread at a time" Con Kolivas 2015-02-24 11:38:54 +1100
  • 922855b171 Fine tune proxy reconnects Con Kolivas 2015-02-24 11:38:26 +1100
  • dd22d73145 Do not switch more clients than we have headroom Con Kolivas 2015-02-24 11:25:01 +1100
  • fc75956823 Replace the parent of existing proxies with the new one Con Kolivas 2015-02-24 10:57:33 +1100
  • d8eaa0b4e9 Rate limit proxy recruiting to one thread at a time Con Kolivas 2015-02-24 10:45:44 +1100
  • 6b3cd82525 Revert "Use async send proc as a separate thread from workqueues" Con Kolivas 2015-02-24 10:38:16 +1100
  • 51670edb61 Move to only reconnect the client sending shares to the dead proxy to smooth out reconnects Con Kolivas 2015-02-24 10:38:00 +1100
  • 7fa3dc2529 Only dec worker if user exists Con Kolivas 2015-02-24 10:32:51 +1100
  • 8502036c5d Only dec worker if user is set Con Kolivas 2015-02-24 10:32:08 +1100
  • 4a3907d4e1 Remove use of unreliable notify_id to determine if clients are on the current pool with the more extensive switching in place Con Kolivas 2015-02-24 09:14:10 +1100
  • 7de43b1c6e Use async send proc as a separate thread from workqueues Con Kolivas 2015-02-24 09:01:20 +1100
  • 21194cfbb4 Count dropped workers in _dec_instance_ref Con Kolivas 2015-02-23 20:21:05 +1100
  • 08a997e190 Remove the unused msg_id field Con Kolivas 2015-02-24 01:03:07 +1100
  • 0dece89fa3 Fix const warning Con Kolivas 2015-02-24 00:02:59 +1100
  • df7d17f3a9 Ensure we use int64 for internal jobid throughout and add the string to debug message from the upstream pool Con Kolivas 2015-02-24 00:00:49 +1100
  • 7f04ba2e03 Transmit the actual workbase we want broadcast with stratum_broadcast_update and add more info the verbose logging Con Kolivas 2015-02-23 23:02:45 +1100
  • b3589a71f3 Add proxy info to verbose share result logging Con Kolivas 2015-02-23 22:26:57 +1100
  • d9b27c612c Add received proxy share result to verbose logging output Con Kolivas 2015-02-23 21:47:27 +1100
  • af21689d67 Don't reconnect generator immediately after the reconnect message, waiting for the first proxy_alive test on the new instance Con Kolivas 2015-02-23 21:19:18 +1100
  • 7e343244ea Change message slightly since we don't necessarily reconnect Con Kolivas 2015-02-23 21:15:32 +1100
  • 5123b2e0ec Only trigger connection recruitment if we're reconnecting clients Con Kolivas 2015-02-23 21:10:54 +1100
  • 11cc87393a Reconnect instead of testing clients that have their reconnect flag set on a stratum broadcast Con Kolivas 2015-02-23 20:51:33 +1100
  • 4e5401a991 Reconnect clients connected to the parent proxy when it's replaced Con Kolivas 2015-02-23 20:30:26 +1100
  • 36b217a45d Count dropped workers in _dec_instance_ref Con Kolivas 2015-02-23 20:21:05 +1100
  • 3e760f1993 Reconnect parent proxy even if subproxies are alive Con Kolivas 2015-02-23 18:37:11 +1100
  • f78f72dc4f Make a new proxy inherit the existing subproxies of the old one Con Kolivas 2015-02-23 18:25:30 +1100
  • 4d25a197e7 Only have one thread trying to reconnect a proxy at a time Con Kolivas 2015-02-23 18:04:45 +1100
  • 401b18adbd Fix use of ckwq variables Con Kolivas 2015-02-23 17:07:34 +1100
  • 862e3df821 Fix use of ckwq variables Con Kolivas 2015-02-23 17:07:34 +1100
  • 2cc67dab43 Only one workqueue will suffice in the generator when there's no conflict over resources Con Kolivas 2015-02-23 17:37:58 +1100
  • 6e95cd1f66 Revert "Use generic workqueues for the recruit subproxy function" Con Kolivas 2015-02-23 17:37:21 +1100
  • b153be29fa Revert "Use generic workqueues for the proxy reconnect function" Con Kolivas 2015-02-23 17:36:27 +1100
  • eef959f5d8 Fix use of ckwq variables Con Kolivas 2015-02-23 17:07:34 +1100
  • 2347097476 Move client culling and testing to the broadcast to avoid cycles of drop/test Con Kolivas 2015-02-23 16:48:31 +1100
  • 2ff9d7f0f6 Drop clients bound to a subproxy even if the proxy no longer exists in dead_proxy Con Kolivas 2015-02-23 16:25:10 +1100
  • fe7ea6ae89 Demote updated diff message Con Kolivas 2015-02-23 15:22:18 +1100
  • c55cf08d6a Check for failure to decode proxy/subproxy in update_subscribe Con Kolivas 2015-02-23 15:21:30 +1100
  • 4ff3972ef0 Look for other clients that should have been dropped in the stratifier and inform or query the connector about them Con Kolivas 2015-02-23 15:17:34 +1100
  • 41388a6e8c Add proxy details to notify logging Con Kolivas 2015-02-23 14:57:59 +1100
  • 6b911d71d6 Send stratifier generic dead proxy message on submit share fail to drop all clients Con Kolivas 2015-02-23 13:39:11 +1100
  • 352c8a4eb7 Set client start time when the instance is added Con Kolivas 2015-02-23 13:37:40 +1100
  • 6887f778e9 Send reconnect to all clients that have been asked to reconnect already and don't unset the bool to be able to trim them Con Kolivas 2015-02-23 12:42:25 +1100
  • e6ce49d2ef Use generic workqueues for the proxy reconnect function Con Kolivas 2015-02-23 12:24:07 +1100
  • 0ecd5b5098 Use generic workqueues for the recruit subproxy function Con Kolivas 2015-02-23 12:22:21 +1100
  • 23aa6a623a Create two workqueues for the generator Con Kolivas 2015-02-23 12:18:42 +1100
  • 3f103ef67e Use async send proc in the generator Con Kolivas 2015-02-23 12:12:02 +1100
  • 8291489a5b Use async send proc in the stratifier Con Kolivas 2015-02-23 12:11:13 +1100
  • 8708b36b8d Use async send proc in the connector Con Kolivas 2015-02-23 11:40:02 +1100
  • 9378f77fd9 Add an asynchronous send proc function which uses each process' generic workqueues if they exist Con Kolivas 2015-02-23 11:26:10 +1100
  • 97e2b3179b Keep track of per process ckwqs in the ckpool structure Con Kolivas 2015-02-23 11:15:44 +1100
  • fc34318ea8 Revert to synchronous proc messages in anticipation of new async functions Con Kolivas 2015-02-23 11:11:00 +1100
  • 6c75760502 Use the generic workqueues for do_update Con Kolivas 2015-02-23 10:27:22 +1100
  • e40d560f57 Create a pool of workqueue threads for use by the stratifier using them for share processing, stratum receiving and transaction processing Con Kolivas 2015-02-23 10:17:17 +1100
  • adec278e7c Create generic workqueue function and message receiving and parsing helpers Con Kolivas 2015-02-23 09:54:39 +1100