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

pdcomm_gem_formatted_program_verification_submit

함수

준비된 결과에 대해 S7F29 검증 문의를 보냅니다.

PdcommStatus pdcomm_gem_formatted_program_verification_submit(PdcommTcpEndpoint *endpoint, PdcommGemResult *prepared, PdcommTcpToken *out_token)

선언 위치: #include <pdcomm_gem_formatted_program_verification_negotiation.h>

성공은 문의를 큐에 넣었다는 뜻입니다. S7F30 허가 응답, 시간 초과(timeout), 연결 끊김은 나중에 pdcomm_gem_handle_event()를 통해 결과를 만듭니다. 성공하면 준비된 결과의 submitted 플래그가 1이 됩니다.

매개변수

이름설명
endpoint결과를 준비한 Communicating 상태의 GEM 장비 엔드포인트입니다.
preparedpdcomm_gem_formatted_program_verification_prepare()가 만든 결과입니다.
out_tokenS7F29 트랜잭션 토큰을 받습니다. NULL이 아니면 항상 먼저 0으로 초기화되므로, 실패하면 항상 0입니다.

반환값

문의를 큐에 넣었으면 #PDCOMM_OK를 반환합니다. 포인터가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 Communicating 상태의 GEM 장비가 아니거나, 서비스가 구성되지 않았거나, prepared가 협상 결과가 아니면 #PDCOMM_INVALID_STATE를 반환합니다. prepared가 이 엔드포인트의 장비 측 레코드가 아니거나, 준비한 뒤 세션이 다시 선택되었거나 다시 연결되었거나, 협상이 이미 끝났으면 #PDCOMM_STALE_TOKEN을 반환합니다. 엔드포인트에 준비된 TCP 이벤트(staged event)가 있거나, GEM 요청 슬롯 32개가 모두 사용 중이거나, 송신 큐가 가득 차면 #PDCOMM_BACKPRESSURE를 반환합니다. 제출된 협상이 이미 max_pending개이면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 문의를 이미 제출했을 때도 #PDCOMM_INVALID_STATE를 반환합니다. 그 밖에 #PDCOMM_IO_ERROR 같은 TCP 상태 코드와 #PDCOMM_POISONED를 반환합니다.