diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/math/exponentialbackoff.js')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/math/exponentialbackoff.js | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/math/exponentialbackoff.js b/contexts/data/lib/closure-library/closure/goog/math/exponentialbackoff.js deleted file mode 100644 index 1b71489..0000000 --- a/contexts/data/lib/closure-library/closure/goog/math/exponentialbackoff.js +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2011 The Closure Library Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -/** - * @fileoverview Utility class to manage the mathematics behind computing an - * exponential backoff model. Given an initial backoff value and a maximum - * backoff value, every call to backoff() will double the value until maximum - * backoff value is reached. - * - */ - - -goog.provide('goog.math.ExponentialBackoff'); - -goog.require('goog.asserts'); - - - -/** - * @constructor - * - * @param {number} initialValue The initial backoff value. - * @param {number} maxValue The maximum backoff value. - */ -goog.math.ExponentialBackoff = function(initialValue, maxValue) { - goog.asserts.assert(initialValue > 0, - 'Initial value must be greater than zero.'); - goog.asserts.assert(maxValue >= initialValue, - 'Max value should be at least as large as initial value.'); - - /** - * @type {number} - * @private - */ - this.initialValue_ = initialValue; - - /** - * @type {number} - * @private - */ - this.maxValue_ = maxValue; - - /** - * The current backoff value. - * @type {number} - * @private - */ - this.currValue_ = initialValue; -}; - - -/** - * The number of backoffs that have happened. - * @type {number} - * @private - */ -goog.math.ExponentialBackoff.prototype.currCount_ = 0; - - -/** - * Resets the backoff value to its initial value. - */ -goog.math.ExponentialBackoff.prototype.reset = function() { - this.currValue_ = this.initialValue_; - this.currCount_ = 0; -}; - - -/** - * @return {number} The current backoff value. - */ -goog.math.ExponentialBackoff.prototype.getValue = function() { - return this.currValue_; -}; - - -/** - * @return {number} The number of times this class has backed off. - */ -goog.math.ExponentialBackoff.prototype.getBackoffCount = function() { - return this.currCount_; -}; - - -/** - * Initiates a backoff. - */ -goog.math.ExponentialBackoff.prototype.backoff = function() { - this.currValue_ = Math.min(this.maxValue_, this.currValue_ * 2); - this.currCount_++; -}; |