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

더 자세히 ...

Public 멤버 함수

 QueuedOutboundMessage (MessageEnvelope message)
 QueuedOutboundMessage (MessageEnvelope message, DateTimeOffset enqueuedAt, int attemptCount, string? lastError)
bool IsExpired (TimeSpan? maxAge, DateTimeOffset now)
QueuedOutboundMessage WithFailure (Exception exception)

속성

MessageEnvelope Message [get]
DateTimeOffset EnqueuedAt [get]
int AttemptCount [get]
string? LastError [get]

상세한 설명

연결이 끊긴 동안 큐에 보관되는 송신 대기 메시지와 재시도 상태를 나타냅니다.

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

생성자 & 소멸자 문서화

◆ QueuedOutboundMessage() [1/2]

Dreamine.Communication.Core.Queues.QueuedOutboundMessage.QueuedOutboundMessage ( MessageEnvelope message)
inline

현재 시각에 처음 큐에 들어온 메시지로 QueuedOutboundMessage를 초기화합니다.

매개변수
message보관할 메시지입니다.
예외
ArgumentNullExceptionmessagenull인 경우 발생합니다.

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

40 : this(message, DateTimeOffset.UtcNow, 0, null)
41 {
42 }

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

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

◆ QueuedOutboundMessage() [2/2]

Dreamine.Communication.Core.Queues.QueuedOutboundMessage.QueuedOutboundMessage ( MessageEnvelope message,
DateTimeOffset enqueuedAt,
int attemptCount,
string? lastError )
inline

저장 시각과 재시도 정보를 지정하여 QueuedOutboundMessage를 초기화합니다.

매개변수
message보관할 메시지입니다.
enqueuedAt메시지가 처음 큐에 저장된 시각입니다.
attemptCount지금까지 수행한 전송 시도 횟수입니다.
lastError마지막 전송 실패 메시지입니다.
예외
ArgumentNullExceptionmessagenull인 경우 발생합니다.

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

97 {
98 Message = message ?? throw new ArgumentNullException(nameof(message));
99 EnqueuedAt = enqueuedAt;
100 AttemptCount = attemptCount;
101 LastError = lastError;
102 }

다음을 참조함 : AttemptCount, EnqueuedAt, LastError, Message.

멤버 함수 문서화

◆ IsExpired()

bool Dreamine.Communication.Core.Queues.QueuedOutboundMessage.IsExpired ( TimeSpan? maxAge,
DateTimeOffset now )
inline

지정한 최대 보관 시간과 현재 시각을 기준으로 메시지의 만료 여부를 확인합니다.

매개변수
maxAge허용할 최대 보관 시간입니다. null이면 만료되지 않습니다.
now만료 계산에 사용할 현재 시각입니다.
반환값
최대 보관 시간을 초과했으면 true, 아니면 false입니다.

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

177 {
178 if (maxAge is null)
179 {
180 return false;
181 }
182
183 return now - EnqueuedAt > maxAge.Value;
184 }

다음을 참조함 : EnqueuedAt.

◆ WithFailure()

QueuedOutboundMessage Dreamine.Communication.Core.Queues.QueuedOutboundMessage.WithFailure ( Exception exception)
inline

전송 시도 횟수와 마지막 오류를 갱신한 새 큐 메시지를 생성합니다.

매개변수
exception마지막 전송 실패를 나타내는 예외입니다.
반환값
실패 정보가 반영된 새 큐 메시지입니다.
예외
ArgumentNullExceptionexceptionnull인 경우 발생합니다.

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

219 {
220 ArgumentNullException.ThrowIfNull(exception);
221
222 return new QueuedOutboundMessage(
223 Message,
224 EnqueuedAt,
225 AttemptCount + 1,
226 exception.Message);
227 }

다음을 참조함 : AttemptCount, EnqueuedAt, Message, QueuedOutboundMessage().

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

속성 문서화

◆ AttemptCount

int Dreamine.Communication.Core.Queues.QueuedOutboundMessage.AttemptCount
get

전송 시도 횟수를 가져옵니다.

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

132{ get; }

다음에 의해서 참조됨 : QueuedOutboundMessage(), WithFailure().

◆ EnqueuedAt

DateTimeOffset Dreamine.Communication.Core.Queues.QueuedOutboundMessage.EnqueuedAt
get

메시지가 처음 큐에 저장된 시각을 가져옵니다.

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

122{ get; }

다음에 의해서 참조됨 : IsExpired(), QueuedOutboundMessage(), WithFailure().

◆ LastError

string? Dreamine.Communication.Core.Queues.QueuedOutboundMessage.LastError
get

마지막 전송 실패 메시지를 가져옵니다.

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

142{ get; }

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

◆ Message

MessageEnvelope Dreamine.Communication.Core.Queues.QueuedOutboundMessage.Message
get

보관된 메시지를 가져옵니다.

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

112{ get; }

다음에 의해서 참조됨 : QueuedOutboundMessage(), WithFailure().


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