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

더 자세히 ...

Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter에 대한 상속 다이어그램 :
Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter에 대한 협력 다이어그램:

Public 멤버 함수

 PlainTextProtocolAdapter ()
 PlainTextProtocolAdapter (Encoding encoding, string route, string name)
 PlainTextProtocolAdapter (PlainTextProtocolOptions options)
MessageEnvelope Decode (byte[] payload)
byte[] Encode (MessageEnvelope message)

속성

bool NormalizePayloadToUtf8 [get]

Private 속성

readonly Encoding _encoding
readonly string _route
readonly string _name

상세한 설명

외부 일반 텍스트 데이터와 Dreamine 메시지 봉투를 상호 변환합니다.

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

생성자 & 소멸자 문서화

◆ PlainTextProtocolAdapter() [1/3]

Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter.PlainTextProtocolAdapter ( )
inline

기본 일반 텍스트 설정으로 어댑터를 초기화합니다.

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

54 : this(new PlainTextProtocolOptions())
55 {
56 }

◆ PlainTextProtocolAdapter() [2/3]

Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter.PlainTextProtocolAdapter ( Encoding encoding,
string route,
string name )
inline

인코딩과 메시지 메타데이터를 지정하여 어댑터를 초기화합니다.

매개변수
encoding외부 텍스트 송수신에 사용할 인코딩입니다.
route디코딩한 메시지에 지정할 라우트입니다.
name디코딩한 메시지에 지정할 이름입니다.
예외
ArgumentNullExceptionencodingnull인 경우 발생합니다.
ArgumentExceptionroute 또는 name 이 비어 있는 경우 발생합니다.

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

110 : this(new PlainTextProtocolOptions
111 {
112 Encoding = encoding ?? throw new ArgumentNullException(nameof(encoding)),
113 Route = route,
114 Name = name
115 })
116 {
117 }

◆ PlainTextProtocolAdapter() [3/3]

Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter.PlainTextProtocolAdapter ( PlainTextProtocolOptions options)
inline

지정한 일반 텍스트 설정으로 어댑터를 초기화합니다.

매개변수
options인코딩과 메시지 메타데이터 설정입니다.
예외
ArgumentNullExceptionoptions 또는 해당 인코딩이 null인 경우 발생합니다.
ArgumentException설정의 라우트 또는 이름이 비어 있는 경우 발생합니다.

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

152 {
153 ArgumentNullException.ThrowIfNull(options);
154 ArgumentException.ThrowIfNullOrWhiteSpace(options.Route);
155 ArgumentException.ThrowIfNullOrWhiteSpace(options.Name);
156
157 _encoding = options.Encoding ?? throw new ArgumentNullException(nameof(options.Encoding));
158 _route = options.Route;
159 _name = options.Name;
160 NormalizePayloadToUtf8 = options.NormalizePayloadToUtf8;
161 }

다음을 참조함 : _encoding, _name, _route, Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Encoding, Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Name, NormalizePayloadToUtf8, Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.NormalizePayloadToUtf8, Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Route.

멤버 함수 문서화

◆ Decode()

MessageEnvelope Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter.Decode ( byte[] payload)
inline

외부 인코딩의 텍스트 바이트를 Dreamine 메시지 봉투로 변환합니다.

매개변수
payload수신한 텍스트 바이트입니다.
반환값
구성된 라우트, 이름 및 텍스트 헤더를 가진 메시지입니다.
예외
ArgumentNullExceptionpayloadnull인 경우 발생합니다.
DecoderFallbackException바이트가 구성된 인코딩에 유효하지 않은 경우 발생할 수 있습니다.

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

214 {
215 ArgumentNullException.ThrowIfNull(payload);
216
217 var text = _encoding.GetString(payload);
218
219 return new MessageEnvelope
220 {
221 Name = _name,
222 Route = _route,
223 Payload = NormalizePayloadToUtf8
224 ? Encoding.UTF8.GetBytes(text)
225 : _encoding.GetBytes(text),
226 Headers = new Dictionary<string, string>
227 {
228 ["ContentType"] = "text/plain",
229 ["Protocol"] = "PlainText",
230 ["ExternalEncoding"] = _encoding.WebName
231 }
232 };
233 }

다음을 참조함 : _encoding, _name, _route, NormalizePayloadToUtf8.

◆ Encode()

byte[] Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter.Encode ( MessageEnvelope message)
inline

메시지의 UTF-8 페이로드를 외부 인코딩의 텍스트 바이트로 변환합니다.

매개변수
message송신할 메시지입니다.
반환값
외부 시스템으로 송신할 텍스트 바이트입니다.
예외
ArgumentNullExceptionmessagenull인 경우 발생합니다.

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

268 {
269 ArgumentNullException.ThrowIfNull(message);
270
271 if (message.Payload.Length == 0)
272 {
273 return [];
274 }
275
276 var text = Encoding.UTF8.GetString(message.Payload);
277 return _encoding.GetBytes(text);
278 }

다음을 참조함 : _encoding.

멤버 데이터 문서화

◆ _encoding

readonly Encoding Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter._encoding
private

encoding 값을 보관합니다.

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

다음에 의해서 참조됨 : Decode(), Encode(), PlainTextProtocolAdapter().

◆ _name

readonly string Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter._name
private

name 값을 보관합니다.

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

다음에 의해서 참조됨 : Decode(), PlainTextProtocolAdapter().

◆ _route

readonly string Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter._route
private

route 값을 보관합니다.

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

다음에 의해서 참조됨 : Decode(), PlainTextProtocolAdapter().

속성 문서화

◆ NormalizePayloadToUtf8

bool Dreamine.Communication.Core.Protocols.PlainTextProtocolAdapter.NormalizePayloadToUtf8
get

디코딩한 텍스트 페이로드를 내부 UTF-8 형식으로 정규화할지 여부를 가져옵니다.

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

171{ get; }

다음에 의해서 참조됨 : Decode(), PlainTextProtocolAdapter().


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