|
@@ -451,17 +451,20 @@
|
|
|
<member name="M:GSG.NET.Concurrent.TsQueue`1.GetEnumerator">
|
|
<member name="M:GSG.NET.Concurrent.TsQueue`1.GetEnumerator">
|
|
|
<summary/>
|
|
<summary/>
|
|
|
</member>
|
|
</member>
|
|
|
|
|
+ <member name="T:GSG.NET.Extensions.EnumExtensions">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ Enum Extensions 추가
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
<member name="M:GSG.NET.Extensions.EnumExtensions.GetValues``1">
|
|
<member name="M:GSG.NET.Extensions.EnumExtensions.GetValues``1">
|
|
|
<summary>
|
|
<summary>
|
|
|
Enumerates all enum values
|
|
Enumerates all enum values
|
|
|
</summary>
|
|
</summary>
|
|
|
<typeparam name="T">Enum type</typeparam>
|
|
<typeparam name="T">Enum type</typeparam>
|
|
|
<returns>IEnumerable containing all enum values</returns>
|
|
<returns>IEnumerable containing all enum values</returns>
|
|
|
- <see cref="!:http://stackoverflow.com/questions/972307/can-you-loop-through-all-enum-values"/>
|
|
|
|
|
</member>
|
|
</member>
|
|
|
<member name="M:GSG.NET.Extensions.CastTo`1.From``1(``0)">
|
|
<member name="M:GSG.NET.Extensions.CastTo`1.From``1(``0)">
|
|
|
<summary>
|
|
<summary>
|
|
|
- Casts <see cref="!:S"/> to <see cref="!:T"/>.
|
|
|
|
|
This does not cause boxing for value types.
|
|
This does not cause boxing for value types.
|
|
|
Useful in generic methods.
|
|
Useful in generic methods.
|
|
|
</summary>
|
|
</summary>
|
|
@@ -1436,6 +1439,12 @@
|
|
|
char array -> string
|
|
char array -> string
|
|
|
</summary>
|
|
</summary>
|
|
|
</member>
|
|
</member>
|
|
|
|
|
+ <member name="M:GSG.NET.LinqEx.xFF(System.Byte[])">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ byte -> 2byte(0xff) string
|
|
|
|
|
+ <para>1,2,3 -gt; 010203</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
<member name="M:GSG.NET.Logging.AppenderUtils.RemoveAppender(log4net.Repository.Hierarchy.Logger,System.String)">
|
|
<member name="M:GSG.NET.Logging.AppenderUtils.RemoveAppender(log4net.Repository.Hierarchy.Logger,System.String)">
|
|
|
<summary>
|
|
<summary>
|
|
|
<para>1. Logger에서 Appender 제거함.</para>
|
|
<para>1. Logger에서 Appender 제거함.</para>
|
|
@@ -1941,6 +1950,148 @@
|
|
|
<member name="M:GSG.NET.TCP.SocketTimeoutException.#ctor(System.String)">
|
|
<member name="M:GSG.NET.TCP.SocketTimeoutException.#ctor(System.String)">
|
|
|
<summary/>
|
|
<summary/>
|
|
|
</member>
|
|
</member>
|
|
|
|
|
+ <member name="T:GSG.NET.TCP.Tcp4">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ <para>2016.06.15 최초 개발</para>
|
|
|
|
|
+ <para>default: BigEndian</para>
|
|
|
|
|
+ <para>MaxBufSize 추가 (2018.03)</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="P:GSG.NET.TCP.Tcp4.Comm">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ Tcp 연결정보
|
|
|
|
|
+ <para>-</para>
|
|
|
|
|
+ <para>기본값</para>
|
|
|
|
|
+ <para>T2: 30sec</para>
|
|
|
|
|
+ <para>T5: 5sec</para>
|
|
|
|
|
+ <para>T6: 10sec</para>
|
|
|
|
|
+ <para>Retry: infinite</para>
|
|
|
|
|
+ <para>Active: true</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="P:GSG.NET.TCP.Tcp4.Connected">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ tcp connect or not
|
|
|
|
|
+ <para>Sck == null이면 false</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="P:GSG.NET.TCP.Tcp4.LittleEndian">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ default: false, 즉 BigEndian default
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="P:GSG.NET.TCP.Tcp4.MaxBufSize">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ Read 함수 호출시 invalid size 체크
|
|
|
|
|
+ <para>OutOfMemoryException로 인한 application 다운 방어코드</para>
|
|
|
|
|
+ <para>-</para>
|
|
|
|
|
+ <para>단위 byte</para>
|
|
|
|
|
+ <para>Default: 10485760(10mb)</para>
|
|
|
|
|
+ <para>해당 값보다 클경우 IOException 발생</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="P:GSG.NET.TCP.Tcp4.Sck">
|
|
|
|
|
+ <summary />
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.#ctor">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ <para>TcpIp 통신 class</para>
|
|
|
|
|
+ <para>-</para>
|
|
|
|
|
+ <para>기본세팅값</para>
|
|
|
|
|
+ <para>BigEndian</para>
|
|
|
|
|
+ <para>MaxBufSize (10mb)</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.ChgTimeout(System.Boolean)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ T6 기준 infinite timeout 변경 or 원복
|
|
|
|
|
+ <para>OS 시간 변경으로 연결 종료 방지</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Clean">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ In buffer clear
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Close">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ <para>close socket</para>
|
|
|
|
|
+ <para>Exception이 없다, 내부적으로 모두 처리함.</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.DefSckOpt(System.Net.Sockets.TcpClient)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ tcp socket option 설정
|
|
|
|
|
+ <para>NoDelay, LingerState, ReceiveTimeout</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Ignore(System.Int32)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ 읽어서 버림.
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Init">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ Client의 경우 Comm.Retry 회수 만큼 연결 시도후 함수 return 됨.
|
|
|
|
|
+ <para>BigEndian default</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.KeepAlive(System.Single,System.Single)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ KeepAlive 시도, 별도의 heart-beat 메시지 필요없음
|
|
|
|
|
+ <para>OS parameter 가 아닌 값 세팅 가능</para>
|
|
|
|
|
+ <para>idle 시간 동안 packet 수신이 없을 경우 자동 송신</para>
|
|
|
|
|
+ <para>-</para>
|
|
|
|
|
+ <para>초단위 데이터 대략 30정도 세팅 권장</para>
|
|
|
|
|
+ <para>interval 만큼 10회정도 시도</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Read(System.Int32)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ size만큼 읽어 MemoryBuffer에 담고 Pos를 0으로 이동한다.
|
|
|
|
|
+ <para>-</para>
|
|
|
|
|
+ <para>TimeoutException catch 가능함</para>
|
|
|
|
|
+ <para>MaxBufSize 적용한 IOException 발생</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.ReadInt(System.Int32,System.Boolean)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ Int 변환
|
|
|
|
|
+ <para>LittleEndian property 를 이용하여 ByteOrder세팅이 가능함.</para>
|
|
|
|
|
+ <para>기본 양수만 반환</para>
|
|
|
|
|
+ <para>양,음수 지원을 위한 signed 설정</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.ReadTo(System.Byte)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ <para>ETX 까지 읽는 경우.</para>
|
|
|
|
|
+ <para>etx 는 포함되지 않음</para>
|
|
|
|
|
+ <para>in stream 에서 etx 까지 읽음</para>
|
|
|
|
|
+ <para>-</para>
|
|
|
|
|
+ <para>TimeoutException catch 가능함</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Send(System.IO.Stream)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ source 데이터 Tcp 에 write
|
|
|
|
|
+ <para>Read 사용불가, Stream 의 끝을 잘 모름</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Send(GSG.NET.Utils.MemoryBuffer)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ MemoryBuffer Position 관계 없이 모든 데이터 write
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Send(System.Byte[])">
|
|
|
|
|
+ <summary />
|
|
|
|
|
+ </member>
|
|
|
|
|
+ <member name="M:GSG.NET.TCP.Tcp4.Send(System.Int32)">
|
|
|
|
|
+ <summary>
|
|
|
|
|
+ int 4 byte send
|
|
|
|
|
+ <para>LittleEndian property flag 에 따라 자동 변환</para>
|
|
|
|
|
+ <para>최대한 MemoryBuffer를 활용한 send 방식으로 구현하며 사용 최소화</para>
|
|
|
|
|
+ </summary>
|
|
|
|
|
+ </member>
|
|
|
<member name="T:GSG.NET.TCP.TcpComm">
|
|
<member name="T:GSG.NET.TCP.TcpComm">
|
|
|
<summary>
|
|
<summary>
|
|
|
<para>T2: 30</para>
|
|
<para>T2: 30</para>
|