{"_id":"recovery","_rev":"268179","name":"recovery","description":"Recover from a network failure using randomized exponential backoff","dist-tags":{"latest":"0.2.6"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"time":{"modified":"2023-06-28T11:57:50.000Z","created":"2014-09-29T14:01:10.680Z","0.2.6":"2015-08-29T07:44:30.014Z","0.2.5":"2015-07-14T14:29:05.414Z","0.2.4":"2015-06-09T15:38:16.824Z","0.2.3":"2015-01-18T10:38:13.823Z","0.2.2":"2014-12-30T11:53:46.650Z","0.2.1":"2014-12-28T21:40:56.789Z","0.2.0":"2014-12-24T10:38:01.220Z","0.1.0":"2014-12-01T08:44:29.307Z","0.0.5":"2014-11-22T19:50:46.121Z","0.0.4":"2014-10-24T16:57:20.392Z","0.0.3":"2014-10-13T20:05:19.866Z","0.0.2":"2014-10-02T06:40:45.137Z","0.0.1":"2014-10-01T11:58:08.489Z","0.0.0":"2014-09-29T14:01:10.680Z"},"users":{},"author":{"name":"Arnout Kazemier"},"repository":{"type":"git","url":"git+https://github.com/unshiftio/recovery.git"},"versions":{"0.2.6":{"name":"recovery","version":"0.2.6","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"100%":"istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100","test":"mocha test.js","watch":"mocha --watch test.js","coverage":"istanbul cover _mocha -- test.js","test-travis":"istanbul cover _mocha --report lcovonly -- test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"1.2.x","istanbul":"0.3.x","mocha":"2.2.x","pre-commit":"1.1.x"},"dependencies":{"demolish":"1.0.x","eventemitter3":"1.1.x","millisecond":"0.1.x","one-time":"0.0.x","tick-tock":"1.0.x"},"repository":{"type":"git","url":"git+https://github.com/unshiftio/recovery.git"},"pre-commit":["coverage","100%"],"gitHead":"fdded8b0c6a9b0cecf7c7d0cb616e8dc105ad870","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery#readme","_id":"recovery@0.2.6","_shasum":"9cfcad9cd4c92bae6a07162c82ccffb9af0a99b9","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"3rdeden","email":"npm@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"9cfcad9cd4c92bae6a07162c82ccffb9af0a99b9","size":5363,"noattachment":false,"key":"/recovery/-/recovery-0.2.6.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.6.tgz"},"directories":{},"publish_time":1440834270014,"_hasShrinkwrap":false,"_cnpm_publish_time":1440834270014,"_cnpmcore_publish_time":"2021-12-15T11:15:41.647Z"},"0.2.5":{"name":"recovery","version":"0.2.5","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"100%":"istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100","test":"mocha test.js","watch":"mocha --watch test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"1.2.x","istanbul":"0.3.x","mocha":"2.2.x","pre-commit":"1.0.x"},"dependencies":{"demolish":"1.0.x","eventemitter3":"1.1.x","millisecond":"0.1.x","one-time":"0.0.x","tick-tock":"0.1.x"},"repository":{"type":"git","url":"git+https://github.com/unshiftio/recovery.git"},"pre-commit":["coverage","100%"],"gitHead":"4c972a6d34009d77a2b5dba274d775011574985a","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery#readme","_id":"recovery@0.2.5","_shasum":"6380d3d881348df4a916e4d25c1ede77ed0cfa33","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"3rdeden","email":"npm@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"6380d3d881348df4a916e4d25c1ede77ed0cfa33","size":6657,"noattachment":false,"key":"/recovery/-/recovery-0.2.5.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.5.tgz"},"directories":{},"publish_time":1436884145414,"_hasShrinkwrap":false,"_cnpm_publish_time":1436884145414,"_cnpmcore_publish_time":"2021-12-15T11:15:41.888Z"},"0.2.4":{"name":"recovery","version":"0.2.4","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"100%":"istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100","test":"mocha test.js","watch":"mocha --watch test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"1.2.x","istanbul":"0.3.x","mocha":"2.2.x","pre-commit":"1.0.x"},"dependencies":{"demolish":"1.0.x","eventemitter3":"1.1.x","millisecond":"0.0.x","one-time":"0.0.x","tick-tock":"0.1.x"},"repository":{"type":"git","url":"git+https://github.com/unshiftio/recovery.git"},"pre-commit":["coverage","100%"],"gitHead":"a191a4eb2546ede7358f936e5c58013c816bebd0","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery#readme","_id":"recovery@0.2.4","_shasum":"d88d5b2a47fc25d2979eb9b46353c922d6f6de40","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"3rdeden","email":"npm@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"d88d5b2a47fc25d2979eb9b46353c922d6f6de40","size":6659,"noattachment":false,"key":"/recovery/-/recovery-0.2.4.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.4.tgz"},"directories":{},"publish_time":1433864296824,"_hasShrinkwrap":false,"_cnpm_publish_time":1433864296824,"_cnpmcore_publish_time":"2021-12-15T11:15:42.142Z"},"0.2.3":{"name":"recovery","version":"0.2.3","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"100%":"istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100","test":"mocha test.js","watch":"mocha --watch test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"1.0.x","istanbul":"0.3.x","mocha":"2.1.x","pre-commit":"0.0.x"},"dependencies":{"demolish":"1.0.x","eventemitter3":"0.1.x","millisecond":"0.0.x","one-time":"0.0.x","tick-tock":"0.1.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"pre-commit":["coverage","100%"],"gitHead":"46df7fc8a3d6f66dcf0e518eb6b295f0d1228a39","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.2.3","_shasum":"ee661405a15c83a5c6a17648fd33a1925d095d74","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"ee661405a15c83a5c6a17648fd33a1925d095d74","size":5912,"noattachment":false,"key":"/recovery/-/recovery-0.2.3.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.3.tgz"},"directories":{},"publish_time":1421577493823,"_hasShrinkwrap":false,"_cnpm_publish_time":1421577493823,"_cnpmcore_publish_time":"2021-12-15T11:15:42.448Z"},"0.2.2":{"name":"recovery","version":"0.2.2","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha test.js","watch":"mocha --watch test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"2.1.x","pre-commit":"0.0.x"},"dependencies":{"demolish":"1.0.x","eventemitter3":"0.1.x","millisecond":"0.0.x","one-time":"0.0.x","tick-tock":"0.1.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"2628452a9a0c3489aac4dcfb758069ab1bf0d3ee","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.2.2","_shasum":"d7b4480fad332ae3a8aa6aa526dea7c3193156ad","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"d7b4480fad332ae3a8aa6aa526dea7c3193156ad","size":5823,"noattachment":false,"key":"/recovery/-/recovery-0.2.2.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.2.tgz"},"directories":{},"publish_time":1419940426650,"_hasShrinkwrap":false,"_cnpm_publish_time":1419940426650,"_cnpmcore_publish_time":"2021-12-15T11:15:42.705Z"},"0.2.1":{"name":"recovery","version":"0.2.1","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","watch":"mocha --watch --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"2.0.x","pre-commit":"0.0.x"},"dependencies":{"demolish":"1.0.x","eventemitter3":"0.1.x","millisecond":"0.0.x","one-time":"0.0.x","tick-tock":"0.0.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"e4c6d529f54f463256e63c14246cbad02ee56d6d","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.2.1","_shasum":"d7904d259053d7adc5cb858c2068c44b513c1026","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"d7904d259053d7adc5cb858c2068c44b513c1026","size":5888,"noattachment":false,"key":"/recovery/-/recovery-0.2.1.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.1.tgz"},"directories":{},"publish_time":1419802856789,"_hasShrinkwrap":false,"_cnpm_publish_time":1419802856789,"_cnpmcore_publish_time":"2021-12-15T11:15:42.914Z"},"0.2.0":{"name":"recovery","version":"0.2.0","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","watch":"mocha --watch --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"2.0.x","pre-commit":"0.0.x"},"dependencies":{"eventemitter3":"0.1.x","millisecond":"0.0.x","one-time":"0.0.x","tick-tock":"0.0.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"e352b0446328b697f2a368f87518a27e23a8948f","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.2.0","_shasum":"823b19ca0dc5b85a41e95884ebda47584756493d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"823b19ca0dc5b85a41e95884ebda47584756493d","size":5805,"noattachment":false,"key":"/recovery/-/recovery-0.2.0.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.2.0.tgz"},"directories":{},"publish_time":1419417481220,"_hasShrinkwrap":false,"_cnpm_publish_time":1419417481220,"_cnpmcore_publish_time":"2021-12-15T11:15:43.128Z"},"0.1.0":{"name":"recovery","version":"0.1.0","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","watch":"mocha --watch --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"2.0.x","pre-commit":"0.0.x"},"dependencies":{"eventemitter3":"0.1.x","millisecond":"0.0.x","one-time":"0.0.x","tick-tock":"0.0.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"fd779517682127ee5cfee1f710dfbc048922e972","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.1.0","_shasum":"44df8750485a3ba8e38330086e19c5c883f27a55","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"44df8750485a3ba8e38330086e19c5c883f27a55","size":5645,"noattachment":false,"key":"/recovery/-/recovery-0.1.0.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.1.0.tgz"},"directories":{},"publish_time":1417423469307,"_hasShrinkwrap":false,"_cnpm_publish_time":1417423469307,"_cnpmcore_publish_time":"2021-12-15T11:15:43.372Z"},"0.0.5":{"name":"recovery","version":"0.0.5","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","watch":"mocha --watch --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"2.0.x","pre-commit":"0.0.x"},"dependencies":{"one-time":"0.0.x","tick-tock":"0.0.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"67d7b148628396200ff53315a1898b5cc590d8c0","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.0.5","_shasum":"81f6195a066710f12899eeb59e4304bb7beaa0b3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"81f6195a066710f12899eeb59e4304bb7beaa0b3","size":5908,"noattachment":false,"key":"/recovery/-/recovery-0.0.5.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.0.5.tgz"},"directories":{},"publish_time":1416685846121,"_hasShrinkwrap":false,"_cnpm_publish_time":1416685846121,"_cnpmcore_publish_time":"2021-12-15T11:15:43.713Z"},"0.0.4":{"name":"recovery","version":"0.0.4","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"1.21.x","pre-commit":"0.0.x"},"dependencies":{"one-time":"0.0.x","tick-tock":"0.0.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"b7161a3435973311e583e556f44fdfc3d0171227","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.0.4","_shasum":"012f0cb44992f74a70d0c970232385d95db586b0","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"012f0cb44992f74a70d0c970232385d95db586b0","size":5639,"noattachment":false,"key":"/recovery/-/recovery-0.0.4.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.0.4.tgz"},"directories":{},"publish_time":1414169840392,"_hasShrinkwrap":false,"_cnpm_publish_time":1414169840392,"_cnpmcore_publish_time":"2021-12-15T11:15:44.004Z"},"0.0.3":{"name":"recovery","version":"0.0.3","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js","test-travis":"istanbul cover node_modules/.bin/_mocha --report lcovonly -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"1.21.x","pre-commit":"0.0.x"},"dependencies":{"one-time":"0.0.x","tick-tock":"0.0.x"},"repository":{"type":"git","url":"https://github.com/unshiftio/recovery"},"gitHead":"9a841528fb447ad69697febe98118d9260d8a5ac","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"homepage":"https://github.com/unshiftio/recovery","_id":"recovery@0.0.3","_shasum":"a3086803d05e72a310480bea9eee90bcd3f49a25","_from":".","_npmVersion":"1.4.27","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"a3086803d05e72a310480bea9eee90bcd3f49a25","size":5669,"noattachment":false,"key":"/recovery/-/recovery-0.0.3.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.0.3.tgz"},"directories":{},"publish_time":1413230719866,"_hasShrinkwrap":false,"_cnpm_publish_time":1413230719866,"_cnpmcore_publish_time":"2021-12-15T11:15:44.325Z"},"0.0.2":{"name":"recovery","version":"0.0.2","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"1.21.x","pre-commit":"0.0.x"},"dependencies":{"one-time":"0.0.x","tick-tock":"0.0.x"},"gitHead":"f35d203113ca926f53dabb217b78942fcb19f8f8","_id":"recovery@0.0.2","_shasum":"aea7ee33a09ba3833a024d0aa18bb7f0b9a60872","_from":".","_npmVersion":"1.4.27","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"aea7ee33a09ba3833a024d0aa18bb7f0b9a60872","size":5291,"noattachment":false,"key":"/recovery/-/recovery-0.0.2.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.0.2.tgz"},"directories":{},"publish_time":1412232045137,"_hasShrinkwrap":false,"_cnpm_publish_time":1412232045137,"_cnpmcore_publish_time":"2021-12-15T11:15:44.527Z"},"0.0.1":{"name":"recovery","version":"0.0.1","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js","coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","devDependencies":{"assume":"0.0.x","istanbul":"0.3.x","mocha":"1.21.x","pre-commit":"0.0.x"},"dependencies":{"one-time":"0.0.x","tick-tock":"0.0.x"},"gitHead":"819c819ba31d99c5282106214be0280e10b34816","_id":"recovery@0.0.1","_shasum":"65705d83296c5775c60e0837e9275b90b68fc99f","_from":".","_npmVersion":"1.4.27","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"65705d83296c5775c60e0837e9275b90b68fc99f","size":5180,"noattachment":false,"key":"/recovery/-/recovery-0.0.1.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.0.1.tgz"},"directories":{},"publish_time":1412164688489,"_hasShrinkwrap":false,"_cnpm_publish_time":1412164688489,"_cnpmcore_publish_time":"2021-12-15T11:15:44.758Z"},"0.0.0":{"name":"recovery","version":"0.0.0","description":"Recover from a network failure using randomized exponential backoff","main":"index.js","scripts":{"test":"mocha --reporter spec --ui bdd test.js"},"keywords":["random","exponential","backoff","reconnect","retry","recovery","failure","network","recon","connection","connect","disconnect"],"author":{"name":"Arnout Kazemier"},"license":"MIT","_id":"recovery@0.0.0","_shasum":"4dbe92684d514d21e7e149a328b7ee2e32994202","_from":".","_npmVersion":"1.4.27","_npmUser":{"name":"V1","email":"info@3rd-Eden.com"},"maintainers":[{"name":"3rdeden","email":""},{"name":"v1","email":""}],"dist":{"shasum":"4dbe92684d514d21e7e149a328b7ee2e32994202","size":513,"noattachment":false,"key":"/recovery/-/recovery-0.0.0.tgz","tarball":"http://name.csiicloud.com:7001/recovery/download/recovery-0.0.0.tgz"},"directories":{},"publish_time":1411999270680,"_hasShrinkwrap":false,"_cnpm_publish_time":1411999270680,"_cnpmcore_publish_time":"2021-12-15T11:15:44.929Z"}},"readme":"# Recovery\n\n[![Made by unshift][made-by]](http://unshift.io)[![Version npm][version]](http://browsenpm.org/package/recovery)[![Build Status][build]](https://travis-ci.org/unshiftio/recovery)[![Dependencies][david]](https://david-dm.org/unshiftio/recovery)[![Coverage Status][cover]](https://coveralls.io/r/unshiftio/recovery?branch=master)[![IRC channel][irc]](http://webchat.freenode.net/?channels=unshift)\n\n[made-by]: https://img.shields.io/badge/made%20by-unshift-00ffcc.svg?style=flat-square\n[version]: https://img.shields.io/npm/v/recovery.svg?style=flat-square\n[build]: https://img.shields.io/travis/unshiftio/recovery/master.svg?style=flat-square\n[david]: https://img.shields.io/david/unshiftio/recovery.svg?style=flat-square\n[cover]: https://img.shields.io/coveralls/unshiftio/recovery/master.svg?style=flat-square\n[irc]: https://img.shields.io/badge/IRC-irc.freenode.net%23unshift-00a8ff.svg?style=flat-square\n\nRecovery provides randomized exponential back off for reconnection attempts. It\nallows you to recover the connection in the most optimal way (for both server\nand client). The exponential back off is randomized to prevent a DDOS like\nattack on your server when it's restarted, spreading the reconnection attempts\ninstead of having all your connections attempt to reconnect at exactly the same\ntime.\n\n### Features\n\n- Reconnection and progress events.\n- Randomized exponential back off.\n- Reconnection timeouts.\n- Browserify compatible.\n\nThe code base of this module was originally written for [Primus] but has been\nextracted as separate module. It has been thoroughly tested and it's written\nwith love `<3`\n\n## Installation\n\nAs this module can be used with node.js and browserify it's released in the `npm`\nregistry and can be installed using:\n\n```\nnpm install --save recovery\n```\n\n## Events\n\nAs mentioned in the documentation introduction, this library provides various of\nreconnection and progress events. Events **always** receive a \"status\" or\nprogress object as last argument. This object contains useful information about\ncurrent reconnection progress:\n\n- `attempt`:  Which reconnection attempt are we currently processing.\n- `start`: Starting time of reconnection attempt.\n- `duration`: How long have we taken so far to establish the connection.\n- `scheduled`: In how many ms do we schedule the next reconnection attempt.\n\nIn addition to these values it also contains all the configuration options like\n`retries`, `min`, `max` etc.\n\nThe following events are emitted during the recovery process:\n\nEvent                 | Arguments   | Description\n----------------------|-------------|-----------------------------------------------------\n`reconnect scheduled` | status      | Scheduled a new reconnection attempt.\n`reconnect`           | status, fn  | It's time for you to reconnect to the server.\n`reconnected`         | status      | Successfully reconnected.\n`reconnect failed`    | err, status | Failed to reconnect and ran out of attempts.\n`reconnect timeout`   | err, status | Failed to reconnect in a timely manner, will retry.\n\n## Constructing\n\nIn all code examples we assume that you've loaded the library using:\n\n```js\n'use strict';\n\nvar Recovery = require('recovery');\n```\n\nThe module is exported as a constructor. The constructor accepts an optional\noptions object which allows you to configure the reconnection procedure.\nThe following options are accepted:\n\n- `max` Maximum reconnection delay. Defaults to `Infinity`.\n- `min` Minimum reconnection delay. Defaults to `500 ms`.\n- `retries` Maximum amount retries after this we will emit an `reconnect failed`\n  event. Defaults to `10`.\n- `reconnect timeout` Time you have to reconnect to the server. If it takes\n  longer than the specified value we will emit an `reconnect timeout` event and\n  schedule another reconnection attempt. Defaults to `30 seconds`.\n- `factor` Exponential back off factor. Defaults to `2`.\n\nOptions that indicate a time can either be set using a human readable string\nlike `10 seconds`, `1 day`, `10 ms` etc. or a numeric value which represents the\ntime in milliseconds.\n\n```js\nvar recovery = new Recovery({\n  max: '30 seconds',\n  min: '100 milliseconds',\n  retries: 5\n});\n```\n\n### Reconnecting\n\nBefore every reconnection attempt we emit a `reconnect` event. You can listen\nto this event on your assigned event emitter. After the event is emitted\nwe will start a timeout so your attempts have only a limited amount of time to\nsucceed or fail. If the timeout expires we emit a `reconnect timeout` event and\nstart a whole new reconnection procedure.\n\nIf your reconnection attempt is successful call the `reconnect.reconnected()`\nmethod without any arguments. If it failed you can call the method with an error\nargument. If the operation failed we will automatically schedule a new reconnect\nattempt. When it's successful we will do some small internal clean up and emit\nthe `reconnected` event. If all future attempts fail we will eventually emit the\n`reconnect failed` event which basically indicates that something horrible is\ngoing on.\n\n```js\nrecovery = new Recovery();\n\nrecovery.on('reconnect', function (opts) {\n  console.log(opts.attempt);\n\n  reconnectmyconnection(function (err) {\n    if (err) return reconnect.reconnected(err);\n    reconnect.reconnected();\n  });\n});\n\nrecovery.reconnect();\n```\n\nAlternatively you also call the callback which is provided in the `reconnect`\nevent which is the same as the `reconnected` method.\n\n```js\nrecovery.on('reconnect', function (opts, fn) {\n  reconnectmyconnection(fn);\n});\n```\n\nTo check if a reconnection attempt is already running you can call the\n`reconnecting` method which will return a boolean:\n\n```js\nif (!recovery.reconnecting()) recovery.reconnect();\n```\n\nAnd if you wish to cancel the running reconnection attempt you can call the\n`reset` method:\n\n```js\nif (recovery.reconnecting()) recovery.reset();\n```\n\n## License\n\nMIT\n\n[Primus]: http://primus.io\n","_attachments":{},"homepage":"https://github.com/unshiftio/recovery#readme","bugs":{"url":"https://github.com/unshiftio/recovery/issues"},"license":"MIT"}