확인 처리를 위한 이벤트 시퀀스는 다음과 같습니다.
동기화 수준을 설정합니다.
확인 요청을 보냅니다.
데이터 및 확인 요청을 받습니다.
확인 요청에 응답합니다.
대화의 할당을 취소합니다.
TP(트랜잭션 프로그램)는 확인 처리를 사용하여 데이터와 함께 확인 요청을 보냅니다. 파트너 TP는 데이터 수신을 확인하거나 오류가 발생했음을 나타냅니다. 두 TP가 확인 요청과 응답을 교환할 때마다 동기화됩니다.
참고
이 섹션의 예제에서는 이를 표시하지 않지만 TP가 호출 TP인지 호출 가능한 TP인지에 관계없이 모든 TP가 데이터를 보내거나 받을 수 있습니다.
다음 표에서는 확인 처리와 관련된 단계를 보여 줍니다.
| 단계 | 호출하는 TP에 의해 발급됨 | 호출 가능한 TP에서 발급 |
|---|---|---|
| 1 | Initialize_Conversation | |
| 2 | Set_Sync_Level(sync_level=CM_CONFIRM) | |
| 3 | 할당 | |
| 4 | Send_Data | |
| 5 | 확인 | |
| 6 | Accept_Conversation | |
| 7 | 수신(data_received= CM_COMPLETE_DATA_RECEIVED)(status_received= CM_CONFIRM_RECEIVED) | |
| 8 | 확인됨 | |
| 9 | (return_code=CM_OK) | |
| 10 | Send_Data | |
| 11 | 할당 취소 | |
| 12 | Receive | |
| 13 | (status_received= CM_CONFIRM_DEALLOC_RECEIVED) | |
| 14 | 확인됨 | |
| 15 | (return_code=CM_OK) |
동기화 수준 설정
Set_Sync_Level 호출을 사용하면 대화의 기본 동기화 수준을 재정의할 수 있습니다. 동기화 수준은 대화의 특성 중 하나입니다. 다음과 같은 두 가지 동기화 수준이 있습니다.
CM_CONFIRM TP가 데이터 수신 확인을 요청하고 이러한 요청에 응답할 수 있습니다.
CM_NONE 확인 처리가 수행되지 않는 기본값입니다.
Initialize_Conversation 호출은 대화의 기본 특성을 설정합니다. Set_ 시작하는 몇 가지 호출이 있습니다. 이러한 호출을 사용하면 기본 대화 특성을 재정의할 수 있습니다.
확인 요청 보내기
Confirm 호출을 실행하면 다음 두 가지 효과가 있습니다.
로컬 LU의 송신 버퍼를 플러시하고 버퍼에 포함된 모든 데이터를 파트너 TP로 보냅니다.
파트너 TP가 Receive 호출의 status_received 매개 변수를 통해 수신하는 확인 요청을 보냅니다.
확인을 실행한 후 로컬 TP는 파트너 TP의 확인을 기다립니다.
확인 요청 수신
Receive 호출의 status_received 매개 변수는 로컬 TP에 필요한 향후 작업을 나타냅니다.
예제에서 첫 번째 수신에는 파트너 TP를 계속하기 전에 확인이 필요함을 나타내는 CM_CONFIRM_RECEIVED status_received 있습니다.
확인 요청에 응답
파트너 TP는 확인된 호출을 발행하여 데이터 수신을 확인합니다. 이렇게 하면 로컬 TP가 처리를 다시 시작할 수 있습니다.
대화 할당 취소
대화의 동기화 수준이 CM_CONFIRM 설정되었으므로 Deallocate 는 버퍼에서 플러시된 데이터와 함께 확인 요청을 보냅니다.
두 번째 수신호출의 경우 status_received CM_CONFIRM_DEALLOC_RECEIVED, 이는 파트너 TP가 대화를 할당 취소하기 전에 확인된 호출에 의해 생성된 확인이 필요함을 나타냅니다.