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에 전달합니다.