ExponentialBackOffWithJitter class

ジッター再試行戦略を使用して指数バックオフを実装します。 次の間隔を計算する関数は次のとおりです (x は x 回目の再試行です): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

コンストラクター

ExponentialBackOffWithJitter(boolean, ErrorFilter)

ExponentialBackOffWithJitter クラスの新しいインスタンスを初期化します。

プロパティ

immediateFirstRetry

最初の再試行が即時 (true に設定されている場合) か、normalParameters.c 遅延の後 (false に設定されている場合) かを示すブール値。

normalParameters

通常の状況 (つまり調整されていない) での各再試行間の遅延を計算するために使用される再試行パラメーター。

throttledParameters

調整された状況での各再試行間の遅延を計算するために使用される再試行パラメーター。

メソッド

nextRetryTimeout(number, boolean)

新しい再試行のたびに再試行を再試行する前に待機する間隔を計算します。

shouldRetry(Error)

引数として渡されたエラーに基づいて、エラーが一時的なものかどうか、および操作を再試行する必要があるかどうかを判断します。

コンストラクターの詳細

ExponentialBackOffWithJitter(boolean, ErrorFilter)

ExponentialBackOffWithJitter クラスの新しいインスタンスを初期化します。

new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)

パラメーター

immediateFirstRetry

boolean

最初の再試行を即時 (既定値) にするか、最初の間隔 (c 値) を待機するかを示すブール値。

errorFilter

ErrorFilter

プロパティの詳細

immediateFirstRetry

最初の再試行が即時 (true に設定されている場合) か、normalParameters.c 遅延の後 (false に設定されている場合) かを示すブール値。

immediateFirstRetry: boolean

プロパティ値

boolean

normalParameters

通常の状況 (つまり調整されていない) での各再試行間の遅延を計算するために使用される再試行パラメーター。

normalParameters: ExponentialBackoffWithJitterParameters

プロパティ値

ExponentialBackoffWithJitterParameters

throttledParameters

調整された状況での各再試行間の遅延を計算するために使用される再試行パラメーター。

throttledParameters: ExponentialBackoffWithJitterParameters

プロパティ値

ExponentialBackoffWithJitterParameters

メソッドの詳細

nextRetryTimeout(number, boolean)

新しい再試行のたびに再試行を再試行する前に待機する間隔を計算します。

function nextRetryTimeout(retryCount: number, isThrottled: boolean): number

パラメーター

retryCount

number

現在の再試行の仮承諾。

isThrottled

boolean

Azure IoT ハブが調整操作であるかどうかを示すブール値。

戻り値

number

再試行を試行するまでの待機時間 (ミリ秒単位)。

shouldRetry(Error)

引数として渡されたエラーに基づいて、エラーが一時的なものかどうか、および操作を再試行する必要があるかどうかを判断します。

function shouldRetry(error: Error): boolean

パラメーター

error

Error

操作で発生したエラー。

戻り値

boolean

操作を再試行する必要があるかどうか。