Commit Graph

  • 5b41b1cad6 Use async send proc in the generator Con Kolivas 2015-02-23 12:01:40 +1100
  • 59951a8192 Use async send proc in the stratifier Con Kolivas 2015-02-23 12:01:15 +1100
  • d437404ada Merge commit '428cabdfc4c8fe0cf3be17aef5033295eeffb50f' into proxydev Con Kolivas 2015-02-23 11:59:04 +1100
  • cada930aa8 Use async senc proc in the generator Con Kolivas 2015-02-23 11:42:39 +1100
  • a465e47f85 Use async send proc in the connector Con Kolivas 2015-02-23 11:40:02 +1100
  • cabc01d7cd Use asynchronous send_proc in the stratifier Con Kolivas 2015-02-23 11:36:46 +1100
  • 428cabdfc4 Add an asynchronous send proc function which uses each process' generic workqueues if they exist Con Kolivas 2015-02-23 11:26:10 +1100
  • 2865a0378f Keep track of per process ckwqs in the ckpool structure Con Kolivas 2015-02-23 11:15:44 +1100
  • 5f9f01e894 Revert to synchronous proc messages in anticipation of new async functions Con Kolivas 2015-02-23 11:11:00 +1100
  • 4c4b48795b Use the generic workqueues for do_update Con Kolivas 2015-02-23 10:27:22 +1100
  • 2d94b18b99 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
  • d594f86520 Create generic workqueue function and message receiving and parsing helpers Con Kolivas 2015-02-23 09:54:39 +1100
  • d15ccdf54d Remove the old pid file per process when preparing the new child processes Con Kolivas 2015-02-21 17:59:59 +1100
  • 646d4a9560 Cope with unknown pids in various send msg commands without terminal failure Con Kolivas 2015-02-21 17:50:50 +1100
  • 33508b2243 Reset the pi pid after a failure to find the process alive so we can look it up again in case it has changed Con Kolivas 2015-02-21 09:47:37 +1100
  • bd68f928b7 Make all one way send_procs asynchronous to avoid message response deadlocks Con Kolivas 2015-02-21 01:49:24 +1100
  • 487e918ff7 Return value of send_proc is never used Con Kolivas 2015-02-21 01:16:05 +1100
  • a23060d786 Fix buf dereference error Con Kolivas 2015-02-21 01:08:26 +1100
  • 85b17f1b78 Check for correct condition in wait_close Con Kolivas 2015-02-21 00:34:48 +1100
  • 07874e9f30 Show message associated with no close fd detection Con Kolivas 2015-02-20 23:59:42 +1100
  • 236634239e Close our end of the socket in send_proc Con Kolivas 2015-02-20 20:04:03 +1100
  • 90c682177f Wait for the other end to close a unix socket to ensure the message has gone through Con Kolivas 2015-02-20 17:49:56 +1100
  • 316ceba75b Check for pid in send_recv_proc as well Con Kolivas 2015-02-20 17:11:38 +1100
  • 2b97f1833f Shutdown instead of closing a socket after sending a unix message allowing the receiving end to close the socket after receiving the data Con Kolivas 2015-02-20 15:57:55 +1100
  • 08ef8ef3de Differentiate pong from other spurious messages from clients Con Kolivas 2015-02-14 11:25:33 +1100
  • a0753a3965 Handle other forms of read_socket_line ending after message complete as not a failure Con Kolivas 2015-02-08 10:12:04 +1100
  • 234f76f8e5 Force a reconnect send to clients that have been given the reconnect flag already and are requested to reconnect again Con Kolivas 2015-02-23 00:03:37 +1100
  • 77e68e8db1 Revert "Send reconnect to clients immediately upon detecting they're sending to a dead proxy instead of flagging them" Con Kolivas 2015-02-22 23:49:18 +1100
  • 0d39d22c16 Use the disable_subproxy function for all proxies including the parent and ensure we message the stratifier about all dead proxies, leaving recruitment only to on demand Con Kolivas 2015-02-21 22:28:57 +1100
  • 0afbf3eff2 Only consider a proxy dead if all subproxy connections are also dead Con Kolivas 2015-02-21 21:47:35 +1100
  • ac8bb3259d Send reconnect to clients immediately upon detecting they're sending to a dead proxy instead of flagging them Con Kolivas 2015-02-21 18:16:17 +1100
  • 6971bf45cd Remove the old pid file per process when preparing the new child processes Con Kolivas 2015-02-21 17:59:59 +1100
  • 1bdf57e21d Cope with unknown pids in various send msg commands without terminal failure Con Kolivas 2015-02-21 17:50:50 +1100
  • 0a165bfc66 Revert to lazily reconnecting all clients to prevent floods Con Kolivas 2015-02-21 12:18:23 +1100
  • 396b656c82 Use the correct json Con Kolivas 2015-02-21 11:39:42 +1100
  • 8dbf39dae5 Reconnect clients that are sending shares that can't be processed Con Kolivas 2015-02-21 11:38:04 +1100
  • a470ca6431 Only reconnect clients when there is room for them on the new proxy, tagging the rest and recruiting as needed Con Kolivas 2015-02-21 11:33:49 +1100
  • 08d8644d1a Still drop clients from dead proxies even if we don't have their data any more Con Kolivas 2015-02-21 10:42:55 +1100
  • 73e6824c00 Recruit more proxies when we have flagged clients in reconnect_clients Con Kolivas 2015-02-21 10:39:41 +1100
  • cffc412427 Combine the reconnect proxy functions, switching as many clients as there is headroom and flagging the rest for lazy reconnection Con Kolivas 2015-02-21 10:29:29 +1100
  • 51337105ac Count existing reconnects in headroom count Con Kolivas 2015-02-21 10:08:54 +1100
  • 0c185fbd2a Max sure max headroom variable is 64 bit Con Kolivas 2015-02-21 09:58:36 +1100
  • 765c3a050d Reset the pi pid after a failure to find the process alive so we can look it up again in case it has changed Con Kolivas 2015-02-21 09:47:37 +1100
  • 9e5d725e68 Make all one way send_procs asynchronous to avoid message response deadlocks Con Kolivas 2015-02-21 01:49:24 +1100
  • b0060079db Return value of send_proc is never used Con Kolivas 2015-02-21 01:16:05 +1100
  • dffc938519 Free buffer used in generator Con Kolivas 2015-02-21 01:09:22 +1100
  • 9842659e39 Fix buf dereference error Con Kolivas 2015-02-21 01:08:26 +1100
  • 47fa24dca0 Move reap messages out of lock Con Kolivas 2015-02-21 00:40:09 +1100
  • f37279da12 Check for correct condition in wait_close Con Kolivas 2015-02-21 00:34:48 +1100
  • 7fb37b7886 Do not loop after updating immediately in the strat loop Con Kolivas 2015-02-21 00:02:25 +1100
  • cef4a2cd36 Show message associated with no close fd detection Con Kolivas 2015-02-20 23:59:42 +1100
  • 235cdf3c96 Flag proxies as dead if they fail connect_proxy Con Kolivas 2015-02-20 23:59:05 +1100
  • 1ff651971f Close socket before adding message to recvs Con Kolivas 2015-02-20 23:54:57 +1100
  • 65d9abab0b Skip subproxies that don't yet have a current workbase when selecting a subscription Con Kolivas 2015-02-20 23:26:38 +1100
  • 111a10bf9d Send clients a reconnect even if we're switching to a backup pool Con Kolivas 2015-02-20 23:08:43 +1100
  • 4cd554a238 Set the reconnect time on a proxy when a read socket detects a disconnection Con Kolivas 2015-02-20 22:48:21 +1100
  • 8c07e6eda7 Give extra info for extranonce size in update subscribe Con Kolivas 2015-02-20 22:37:54 +1100
  • ad5b2a089b Add warning about reason for failed subscription Con Kolivas 2015-02-20 22:34:29 +1100
  • 2055f0e2e8 Demote nonce length warning for subproxies Con Kolivas 2015-02-20 21:30:28 +1100
  • 41f042c3e5 Duplicate the actual jobid json object to return when submitting shares and use an integer consistently as the internal jobid Con Kolivas 2015-02-20 21:14:20 +1100
  • 33f8c4275d Close our end of the socket in send_proc Con Kolivas 2015-02-20 20:04:03 +1100
  • 8dd1754426 Close socket reliably in generator Con Kolivas 2015-02-20 17:56:03 +1100
  • 9de62bdea9 Reverse the waiting order between generator and stratifier in proxy mode Con Kolivas 2015-02-20 17:50:24 +1100
  • 33e195511c Wait for the other end to close a unix socket to ensure the message has gone through Con Kolivas 2015-02-20 17:49:56 +1100
  • ea56de3bf6 Check for pid in send_recv_proc as well Con Kolivas 2015-02-20 17:11:38 +1100
  • 6e9901f9fe Shutdown instead of closing a socket after sending a unix message allowing the receiving end to close the socket after receiving the data Con Kolivas 2015-02-20 15:57:55 +1100
  • 5a7febc821 Workbase id and blockchange id are determined by the generator in proxy mode and should not be set per proxy Con Kolivas 2015-02-20 12:20:08 +1100
  • 29ebae7410 Fix incorrect cs being used in proxy_send Con Kolivas 2015-02-20 11:22:51 +1100
  • 68da0e07fa Reap any retired proxies that no longer have any subproxies Con Kolivas 2015-02-20 11:18:11 +1100
  • e9af372a56 Reap old subproxies when they're no longer in use Con Kolivas 2015-02-20 11:09:56 +1100
  • 631467ff70 Use a linked list for retired proxies in case they have the same id as a previously retired one Con Kolivas 2015-02-19 22:34:53 +1100
  • c093b4a06f Keep track of the number of clients bound to each proxy Con Kolivas 2015-02-19 21:04:37 +1100
  • b758e25aed Merge branch 'proxydev' into multiproxy Con Kolivas 2015-02-19 15:37:19 +1100
  • b80d8d6cea Merge branch 'master' into proxydev Con Kolivas 2015-02-19 15:33:16 +1100
  • 42f14a9536 Add full lock tracking for mutexes and rwlocks Con Kolivas 2015-02-19 14:26:57 +1100
  • 7b452b361f Remove macro placeholders for locks in preparation for implementing lock tracking Con Kolivas 2015-02-19 13:33:23 +1100
  • 865cd3a741 Remove unused variable Con Kolivas 2015-02-19 13:21:11 +1100
  • bf55b3e252 Merge branch 'master' into multiproxy Con Kolivas 2015-02-19 12:29:54 +1100
  • 6f109cd4c9 Merge branch 'master' into proxydev Con Kolivas 2015-02-19 12:26:54 +1100
  • c572d580eb Add lock contention testing warning at 10 seconds to all lock grabbing and fail if a lock is unable to be grabbed for more than a minute Con Kolivas 2015-02-19 12:02:07 +1100
  • 0f08e9518f Add helpers for rw timed locks Con Kolivas 2015-02-19 11:42:35 +1100
  • 9cbe225c4d Reconnect backup clients on stratum notify if they're not already on the current proxy Con Kolivas 2015-02-17 18:03:50 +1100
  • 14805ce8fa Send stratifier deadproxy message if it's trying to send shares to it Con Kolivas 2015-02-17 17:27:02 +1100
  • d6f0cfb210 Break out of searching for a proxy if the best has headroom Con Kolivas 2015-02-17 17:26:02 +1100
  • dba4f02fae Find any subproxy with headroom to take more clients if we do not have enough upstream connections yet to service new clients Con Kolivas 2015-02-17 16:59:30 +1100
  • eab6c1ba64 Add more info to missing jobid notice Con Kolivas 2015-02-17 15:52:14 +1100
  • 9dad217562 Switch the current proxy if we generate a replacement one Con Kolivas 2015-02-17 15:48:21 +1100
  • d1fe21601e Don't create subproxies except when appropriate Con Kolivas 2015-02-17 15:45:57 +1100
  • fc26ec2ddc Differentiate proxy_by_id for when we only want existing entries Con Kolivas 2015-02-17 15:42:02 +1100
  • 2a809faeb4 Change block hash update message according to proxy/pool Con Kolivas 2015-02-17 15:26:48 +1100
  • 4fe614ea7d Don't try to allocate clients to dead subproxies in the stratifier Con Kolivas 2015-02-17 14:40:16 +1100
  • 79cca5a6d5 Remove replaced proxies from the main hashlist and store them in an old proxy hashlist upon a new subscription Con Kolivas 2015-02-17 14:37:11 +1100
  • b96106a414 Inform stratifier of deadproxy on every failed proxy_alive call Con Kolivas 2015-02-17 13:36:55 +1100
  • eed7df1826 Do all the proxy recruitment within the new thread Con Kolivas 2015-02-17 13:30:36 +1100
  • c33362c8ad Make subproxy recruiting asynchronous to not delay other proxy loop functions Con Kolivas 2015-02-17 13:27:47 +1100
  • 3ba0aeee69 Disable and remove the parent proxy from the subproxy list on reconnect as well Con Kolivas 2015-02-17 13:16:56 +1100
  • f68e398958 Add more debug info for proxies Con Kolivas 2015-02-17 12:26:27 +1100
  • 2562068163 Remove any concept of clients per proxy from the generator and simply display how many on connecting the parent' Con Kolivas 2015-02-17 11:00:37 +1100
  • 328f1ef5db Demote select failed warning to notice level Con Kolivas 2015-02-17 10:11:54 +1100
  • cb1c58846b Demote update notices for subproxies Con Kolivas 2015-02-17 00:18:28 +1100