콘텐츠로 이동
무료 평가 시작

PDComm.HsmsOptions

클래스

HSMS(SEMI E37) 끝점의 옵션입니다. 역할, 세션, 타이머, 리소스 한도를 지정합니다.

public sealed record HsmsOptions

모든 값은 명시적인 애플리케이션 정책이며, 바인딩은 SEMI 기본 타이머를 적용하지 않습니다. 모든 타이머, 타임아웃, 용량은 0이 아니어야 하며, 그렇지 않으면 끝점 생성이 PdcommStatus.InvalidArgument로 실패합니다.

HSMS 프레임은 4바이트 길이 필드, 10바이트 헤더, 메시지 본문으로 구성되므로 최대 본문 크기는 HsmsOptions.MaxFrameBytes에서 14를 뺀 값입니다. HsmsOptions.MaxFrameBytes가 14 이상이고, HsmsOptions.MaxWriteBytes가 HsmsOptions.MaxFrameBytes 이상이고, HsmsOptions.MaxApplicationBytes가 HsmsOptions.MaxFrameBytes에서 14를 뺀 값 이상이고, HsmsOptions.MaxEvents가 72 이상(끝점이 열 수 있는 거래 32개마다 이벤트 2개, 여기에 8을 더한 값)이 아니면 생성이 PdcommStatus.LimitExceeded로 실패합니다.

멤버

HsmsOptions

생성자

기본값으로 새 인스턴스를 초기화합니다.

public HsmsOptions()

참고

  • 객체 이니셜라이저에서 이 형식의 모든 required 속성을 설정해야 합니다.

ConnectTimeoutMilliseconds

속성

액티브 끝점의 TCP 연결 타임아웃(밀리초)을 가져옵니다. 연결 시도 중에는 HsmsEndpoint.Poll이 최대 이 시간 동안 차단될 수 있습니다.

public required ulong ConnectTimeoutMilliseconds { get; init; }

InitialSystemBytes

속성

이 끝점이 자신의 요청에 사용하는 첫 시스템 바이트 값을 가져옵니다.

public required uint InitialSystemBytes { get; init; }

ItemLimits

속성

SECS-II 메시지 본문에 적용하는 한도를 가져옵니다.

public required SecsLimits ItemLimits { get; init; }

MaxApplicationBytes

속성

HsmsEndpoint.NextEvent를 기다리는 이벤트 전체 본문 크기의 최댓값(바이트)을 가져옵니다.

public required nuint MaxApplicationBytes { get; init; }

MaxApplicationEvents

속성

HsmsEndpoint.NextEvent를 기다리는 이벤트 큐의 용량을 가져옵니다.

public required nuint MaxApplicationEvents { get; init; }

MaxEvents

속성

세션 내부 이벤트 큐의 용량을 가져옵니다. 72 이상입니다.

public required nuint MaxEvents { get; init; }

MaxFrameBytes

속성

끝점이 보내거나 받는 최대 프레임 크기(바이트)를 가져옵니다. 프레이밍 바이트 14개를 포함합니다.

public required nuint MaxFrameBytes { get; init; }

MaxIoChunk

속성

소켓 호출 한 번으로 읽거나 쓰는 최대 바이트 수를 가져옵니다.

public required nuint MaxIoChunk { get; init; }

MaxQueuedBytes

속성

세션 내부 이벤트 큐에 보관되는 전체 본문 크기의 최댓값(바이트)을 가져옵니다.

public required nuint MaxQueuedBytes { get; init; }

MaxWriteBytes

속성

쓰기를 기다리는 프레임 전체 크기의 최댓값(바이트)을 가져옵니다.

public required nuint MaxWriteBytes { get; init; }

MaxWriteFrames

속성

쓰기를 기다리는 프레임의 최대 수를 가져옵니다.

public required nuint MaxWriteFrames { get; init; }

Mode

속성

끝점이 연결하는지(HsmsMode.Active) 수신 대기하는지(HsmsMode.Passive)를 가져옵니다.

public required HsmsMode Mode { get; init; }

PollBudget

속성

HsmsEndpoint.Poll 한 번이 수행하는 내부 동작의 최대 수를 가져옵니다.

public required nuint PollBudget { get; init; }

SessionId

속성

데이터 메시지 헤더에 들어가는 HSMS 세션 ID(장치 ID)를 가져옵니다.

public required ushort SessionId { get; init; }

ShutdownTimeoutMilliseconds

속성

중지 시 연결을 정상적으로 닫는 데 걸릴 수 있는 시간(밀리초)을 가져옵니다.

public required ulong ShutdownTimeoutMilliseconds { get; init; }

T3Milliseconds

속성

T3 응답 타임아웃(밀리초)을 가져옵니다. 요청이 응답을 기다리는 시간입니다.

public required ulong T3Milliseconds { get; init; }

T5Milliseconds

속성

T5 연결 분리 타임아웃(밀리초)을 가져옵니다. 액티브 끝점이 다시 연결하기 전에 기다리는 시간입니다.

public required ulong T5Milliseconds { get; init; }

T6Milliseconds

속성

T6 제어 거래 타임아웃(밀리초)을 가져옵니다. Select, Deselect 또는 Linktest가 기다리는 시간입니다.

public required ulong T6Milliseconds { get; init; }

T7Milliseconds

속성

T7 미선택 타임아웃(밀리초)을 가져옵니다. 연결이 선택되지 않은 상태로 머물 수 있는 시간입니다.

public required ulong T7Milliseconds { get; init; }

T8Milliseconds

속성

한 프레임의 바이트 사이에 적용되는 T8 네트워크 문자 간 타임아웃(밀리초)을 가져옵니다.

public required ulong T8Milliseconds { get; init; }

WriteTimeoutMilliseconds

속성

연결을 실패로 처리하기 전에 프레임 쓰기가 멈춰 있을 수 있는 시간(밀리초)을 가져옵니다.

public required ulong WriteTimeoutMilliseconds { get; init; }