매핑된 대화의 예제(CPI-C)
매핑된 대화의 다음 예제에서는 대화를 시작하고, 데이터를 교환하고, 대화를 종료하는 데 사용되는 CPI-C(Common Programming Interface for Communications) 호출을 보여 줍니다. 호출 매개 변수는 괄호 안에 있습니다.
호출하는 TP에 의해 발급됨 | 호출 가능한 TP에서 발급 |
---|---|
Initialize_Conversation | |
할당 | |
Send_Data | |
할당 취소 | Accept_Conversation |
Receive | |
(data_received= | |
CM_COMPLETE_DATA_RECEIVED) | |
(return_code= | |
CM_DEALLOCATED_NORMAL) |
다음 단락에서는 매핑된 대화에 사용되는 호출에 대해 설명합니다.
매핑된 대화 시작에 대한 호출
대화를 시작하기 위해 호출하는 TP(트랜잭션 프로그램)는 다음 호출을 실행합니다.
Initialize_Conversation CPI-C에 대화의 특성을 정의하는 값을 설정하도록 요청합니다. Initialize_Conversation 호출은 메모리의 측면 정보 테이블에 있는 항목과 연결된 기호화된 대상 이름을 지정합니다. 사이드 정보는 파트너 TP, 파트너 LU, 모드, 보안 등을 지정합니다.
할당- 호출하는 TP와 호출 가능한 TP 간에 CPI-C가 대화를 설정하게 요청합니다.
호출 가능한 TP는 호출하는 TP 와의 대화를 시작할 준비가 되었다는 것을 CPI-C에 알리는 Accept_Conversation 호출을 실행합니다.
매핑된 대화에서 데이터 보내기 호출
Send_Data 호출은 하나의 데이터 레코드(전송할 애플리케이션 데이터를 포함하는 레코드)를 LU(로컬 논리 단위)의 송신 버퍼에 넣습니다. 파트너 TP로의 데이터 전송은 다음 이벤트 중 하나가 발생할 때까지 발생하지 않습니다.
송신 버퍼가 채워지게 됩니다.
송신 TP는 CPI-C가 버퍼를 플러시하고 파트너 TP에 데이터를 보내도록 강제하는 호출을 수행합니다.
데이터 레코드 외에도 송신 버퍼에는 할당 요청(데이터 레코드 앞)도 포함됩니다.
앞의 예제에서 할당 취소 는 송신 버퍼를 플러시하여 할당 요청 및 데이터를 파트너 TP에 보냅니다. 버퍼를 플러시하는 다른 호출은 확인 및 플러시입니다.
매핑된 대화에서 데이터 수신에 대한 호출
수신 호출은 파트너 TP로부터 데이터 레코드 및 상태 정보를 받습니다. 현재 사용할 수 있는 데이터 또는 상태 정보가 없는 경우 로컬 TP는 기본적으로 데이터가 도착할 때까지 기다립니다.
Receive의 data_received 매개 변수는 데이터를 수신했는지 여부와 데이터가 완료되었는지 여부를 프로그램에 알릴 수 있습니다.
매핑된 대화 종료를 위한 호출
대화를 종료하기 위해 TP 중 하나가 할당 취소를 실행하여 CPI-C가 두 TP 간의 대화 할당을 취소합니다.