Dreamine.Communication.Core
1.0.2
Dreamine.Communication.Core 통신 기능과 관련 API를 제공합니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
PlainTextProtocolOptions.cs
이 파일의 문서화 페이지로 가기
1
using
System.Text;
2
using
System.Threading;
3
4
namespace
Dreamine.Communication.Core.Protocols
;
5
14
public
sealed
class
PlainTextProtocolOptions
15
{
24
public
const
string
Utf8EncodingName
=
"UTF-8"
;
25
34
public
const
string
KoreanCodePage949EncodingName
=
"CP949"
;
35
44
private
static
int
_isCodePageProviderRegistered
;
45
54
public
Encoding
Encoding
{
get
; init; } =
CreateEncoding
(
Utf8EncodingName
);
55
64
public
string
Route
{
get
; init; } =
"external.text"
;
65
74
public
string
Name
{
get
; init; } =
"External.Text"
;
75
84
public
bool
NormalizePayloadToUtf8
{
get
; init; } =
true
;
85
118
public
static
Encoding
CreateEncoding
(
string
? encodingName)
119
{
120
if
(
string
.IsNullOrWhiteSpace(encodingName))
121
{
122
return
new
UTF8Encoding(
false
,
true
);
123
}
124
125
if
(
string
.Equals(encodingName,
Utf8EncodingName
, StringComparison.OrdinalIgnoreCase) ||
126
string
.Equals(encodingName,
"UTF8"
, StringComparison.OrdinalIgnoreCase))
127
{
128
return
new
UTF8Encoding(
false
,
true
);
129
}
130
131
if
(
string
.Equals(encodingName,
KoreanCodePage949EncodingName
, StringComparison.OrdinalIgnoreCase) ||
132
string
.Equals(encodingName,
"949"
, StringComparison.OrdinalIgnoreCase) ||
133
string
.Equals(encodingName,
"ks_c_5601-1987"
, StringComparison.OrdinalIgnoreCase))
134
{
135
EnsureCodePageProviderRegistered
();
136
return
Encoding
.GetEncoding(949);
137
}
138
139
EnsureCodePageProviderRegistered
();
140
return
Encoding
.GetEncoding(encodingName);
141
}
142
151
private
static
void
EnsureCodePageProviderRegistered
()
152
{
153
if
(Interlocked.Exchange(ref
_isCodePageProviderRegistered
, 1) == 1)
154
{
155
return
;
156
}
157
158
Encoding
.RegisterProvider(CodePagesEncodingProvider.Instance);
159
}
160
}
Dreamine.Communication.Core.Protocols
Definition
DreamineEnvelopeProtocolAdapter.cs:5
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions
Definition
PlainTextProtocolOptions.cs:15
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.CreateEncoding
static Encoding CreateEncoding(string? encodingName)
Definition
PlainTextProtocolOptions.cs:118
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Utf8EncodingName
const string Utf8EncodingName
Definition
PlainTextProtocolOptions.cs:24
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Route
string Route
Definition
PlainTextProtocolOptions.cs:64
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.NormalizePayloadToUtf8
bool NormalizePayloadToUtf8
Definition
PlainTextProtocolOptions.cs:84
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.EnsureCodePageProviderRegistered
static void EnsureCodePageProviderRegistered()
Definition
PlainTextProtocolOptions.cs:151
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Encoding
Encoding Encoding
Definition
PlainTextProtocolOptions.cs:54
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.Name
string Name
Definition
PlainTextProtocolOptions.cs:74
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions._isCodePageProviderRegistered
static int _isCodePageProviderRegistered
Definition
PlainTextProtocolOptions.cs:44
Dreamine.Communication.Core.Protocols.PlainTextProtocolOptions.KoreanCodePage949EncodingName
const string KoreanCodePage949EncodingName
Definition
PlainTextProtocolOptions.cs:34
Protocols
PlainTextProtocolOptions.cs
다음에 의해 생성됨 :
1.17.0