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

PDComm.GemEvent

클래스

GemWorker.ReadEventsAsync가 전달하는 전송 이벤트 하나를 GEM 처리 결과와 함께 나타냅니다.

public sealed class GemEvent : IDisposable

작업자 스레드는 이미 GemEvent.TransportEvent를 GemEndpoint.HandleEvent에 전달했습니다. 이벤트는 GemEvent.TransportEvent와 GemEvent.Result를 모두 소유하며, 이벤트를 해제하면 둘 다 해제됩니다. 따라서 이벤트를 사용하는 동안 둘을 따로 해제하지 마십시오. 읽는 쪽은 받은 모든 이벤트를 해제해야 합니다.

멤버

Dispose

메서드

GemEvent.Result와 GemEvent.TransportEvent를 해제합니다.

public void Dispose()

ProcessingStatus

속성

GemEvent.Result를 사용할 수 있으면 PdcommStatus.Ok를 가져오고, 그렇지 않으면 GemEndpoint.HandleEvent가 실패한 상태(예: PdcommStatus.StaleToken)를 가져옵니다.

public PdcommStatus ProcessingStatus { get; }

PdcommStatus.Poisoned와 PdcommStatus.InternalError는 여기서 보고하지 않으며, 대신 작업자를 중지합니다.

Result

속성

GEM 결과를 가져옵니다. 처리가 실패했으면 null이며, 이때 GemEvent.ProcessingStatus에 원인이 들어 있습니다.

public GemResult? Result { get; }

TransportEvent

속성

원시 HSMS 이벤트를 가져옵니다. GEM 처리 후에도 읽을 수 있습니다.

public HsmsEvent TransportEvent { get; }

GemResultKind.Unhandled 1차 메시지에 응답하려면 이 이벤트를 GemWorker.ReplyRawAsync에 전달합니다.