Dreamine.Communication.Core 1.0.2
Dreamine.Communication.Core 통신 기능과 관련 API를 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.Communication.Core.Resilience.ReconnectDelayCalculator 클래스 참조sealed

더 자세히 ...

Public 멤버 함수

 ReconnectDelayCalculator (ReconnectPolicy? policy=null)
TimeSpan Calculate (int attemptCount)

정적 Private 멤버 함수

static TimeSpan NormalizeDelay (TimeSpan delay)

Private 속성

readonly ReconnectPolicy _policy

상세한 설명

재연결 정책의 지수 백오프 설정으로 재시도 대기 시간을 계산합니다.

ReconnectDelayCalculator.cs 파일의 13 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ ReconnectDelayCalculator()

Dreamine.Communication.Core.Resilience.ReconnectDelayCalculator.ReconnectDelayCalculator ( ReconnectPolicy? policy = null)
inline

지정한 정책으로 ReconnectDelayCalculator를 초기화합니다.

매개변수
policy대기 시간 계산에 사용할 정책입니다. null이면 기본 정책을 사용합니다.

ReconnectDelayCalculator.cs 파일의 41 번째 라인에서 정의되었습니다.

42 {
43 _policy = policy ?? new ReconnectPolicy();
44 }

다음을 참조함 : _policy.

멤버 함수 문서화

◆ Calculate()

TimeSpan Dreamine.Communication.Core.Resilience.ReconnectDelayCalculator.Calculate ( int attemptCount)
inline

지정한 재시도 횟수에 적용할 대기 시간을 계산합니다.

매개변수
attemptCount1부터 시작하는 재시도 횟수입니다. 1 이하의 값은 최초 대기 시간으로 처리합니다.
반환값
1밀리초 이상이며 정책의 최대 대기 시간을 넘지 않는 계산 결과입니다.

ReconnectDelayCalculator.cs 파일의 70 번째 라인에서 정의되었습니다.

71 {
72 if (attemptCount <= 1)
73 {
74 return NormalizeDelay(_policy.InitialDelay);
75 }
76
77 var initialMilliseconds = Math.Max(1, _policy.InitialDelay.TotalMilliseconds);
78 var factor = Math.Max(1, _policy.BackoffFactor);
79 var calculatedMilliseconds = initialMilliseconds * Math.Pow(factor, attemptCount - 1);
80 var maxMilliseconds = Math.Max(
81 initialMilliseconds,
82 _policy.MaxDelay.TotalMilliseconds);
83
84 var finalMilliseconds = Math.Min(calculatedMilliseconds, maxMilliseconds);
85
86 return TimeSpan.FromMilliseconds(finalMilliseconds);
87 }

다음을 참조함 : _policy, NormalizeDelay().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ NormalizeDelay()

TimeSpan Dreamine.Communication.Core.Resilience.ReconnectDelayCalculator.NormalizeDelay ( TimeSpan delay)
inlinestaticprivate

대기 시간을 최소 1밀리초의 양수 값으로 정규화합니다.

매개변수
delay정규화할 대기 시간입니다.
반환값
정규화된 양수 대기 시간입니다.

ReconnectDelayCalculator.cs 파일의 113 번째 라인에서 정의되었습니다.

114 {
115 if (delay <= TimeSpan.Zero)
116 {
117 return TimeSpan.FromMilliseconds(1);
118 }
119
120 return delay;
121 }

다음에 의해서 참조됨 : Calculate().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _policy

readonly ReconnectPolicy Dreamine.Communication.Core.Resilience.ReconnectDelayCalculator._policy
private

policy 값을 보관합니다.

ReconnectDelayCalculator.cs 파일의 23 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Calculate(), ReconnectDelayCalculator().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: