0.0.5 • Published 13 years ago
charlie v0.0.5
Charlie is a utility that implements the backoff algorithm described in Exponential Backoff in Distributed Systems.

The usage is simple. Before making a request to an origin, let charlie know.
// arr is an array of strings used as a key
// timeout and maxDelay are in msec
var decision = charlie.ask(arr, timeout, maxDelay);
if(decision.state === 'go') {
    // make the request
}
else {
    // don't make the request
    console.log('Waiting until ' + decision.delay);
}When the request succeeds, let Charlie know.
charlie.ok(arr);When the request fails, let Charlie know.
charlie.notok(arr);