인바운드 체이닝
애플리케이션 데이터를 데이터 메시지로 분할하고 인바운드 연결을 제어하는 것은 애플리케이션에서 담당해야 합니다.
세션에 대한 보조 최대 송신 요청 단위 크기는 호스트의 BIND에 있는 매개변수이며, Open(PLU) OK Confirm 메시지의 바인딩 정보 제어 블록(BICB)에서 사용할 수 있습니다. 애플리케이션에서는 각 인바운드 데이터 메시지가 단일 요청 단위에 해당하는지 확인해야 합니다. 메시지는 BICB에 지정된 최대 요청 단위 크기보다 많은 데이터를 포함하지 않습니다.
애플리케이션에서는 데이터 메시지 헤더에 BCI(시작 체인 표시기) 및 ECI(끝 체인 표시기) 애플리케이션 플래그를 사용하여 연결을 제어해야 합니다. (자세한 내용은 애플리케이션 플래그를 참조하세요). 체인은 복구 단위이며, 체인에서 복구 가능한 오류가 발생하는 경우 애플리케이션에서 복구해야 합니다. (자세한 내용은 복구를 참조하세요.)
인바운드 체인은 다음과 같은 방법으로 종료할 수 있습니다.
전체 체인은 오류 없이 전송됩니다. 체인의 모든 데이터 메시지가 호스트에 전달되었습니다. 세션에서 보조 세션이 한정 응답 체인을 보낼 수 있도록 허용하고 애플리케이션에서 체인의 마지막 데이터 메시지에서 ACKRQD 필드를 설정하는 경우, 호스트가 응답을 제공하면 애플리케이션에서는 로컬 노드로부터 Status-Acknowledge(Ack)를 수신합니다.
로컬 노드는 애플리케이션의 데이터 메시지 형식 또는 세션 상태에서 중요한 오류를 감지합니다. 로컬 노드는 오류 코드가 포함된 Status-Acknowledge(Nack-2)가 있는 데이터 메시지를 거부하고 PLU 연결을 닫습니다. 로컬 노드는 PLU 연결을 닫기 전에 인바운드 CANCEL 요청을 생성합니다. 로컬 노드는 UNBIND를 유도하기 위해 호스트에 TERM-SELF 요청을 보냅니다.
호스트는 체인의 요청에 부정적인 응답을 보냅니다. 로컬 노드는 부정적인 응답의 감지 코드 및 시퀀스 번호와 함께 Status-Acknowledge(Nack-1) 메시지를 애플리케이션에 보냅니다. 호스트가 ECI 애플리케이션 플래그를 포함하지 않는 요청을 거부하고 애플리케이션이 PLU CICB에서 애플리케이션 취소 옵션을 지정하지 않으면, 로컬 노드도 인바운드 취소 요청을 생성합니다. 애플리케이션에서 애플리케이션 취소를 지정하는 경우에는 EC 또는 Status-Control(CANCEL) 을 전송하여 체인을 종료해야 합니다. 모든 후속 인바운드 체인은 중요하지 않은 Status-Acknowledge(Nack-2) , 감지 코드 0x2002 또는 0x2004(연결 또는 방향)와 함께 거부됩니다. 애플리케이션에서 Status-Acknowledge(Nack-1) 메시지를 수신하면 방향이 호스트에 전달되기 때문에, 반이중 플립플롭 세션을 위해 이 체인 뒤에 데이터 전송을 중지해야 합니다. (자세한 내용은 방향을 참조하세요.)
애플리케이션이 Status-Control(CANCEL) 메시지를 로컬 노드에 보내서 전송하는 동안 체인을 취소합니다. 로컬 노드에서는 호스트에 CANCEL 요청을 보내고, 호스트로부터 긍정적인 응답을 받으면 애플리케이션에 Status-Control(CANCEL) 승인을 보냅니다. CANCEL 이전에 전송된 요청에 대한 호스트의 응답은 원래의 데이터 메시지에 ACKRQD 필드가 설정된 경우 애플리케이션에 대해 적절한 Status-Acknowledge 메시지를 생성합니다.
애플리케이션에서 체인을 보내는 동안 PLU 연결을 닫습니다. 로컬 노드가 애플리케이션에 Close(PLU) Response를 보냅니다. Close(PLU) 메시지 이전에 전송된 요청에 대한 호스트의 응답은 애플리케이션에 대해 Status-Acknowledge 메시지를 생성하지 않습니다. 로컬 노드 또한 인바운드 CANCEL 요청을 생성하고, UNBIND를 유도하기 위해 TERM-SELF 요청을 생성한다는 점에 유의하세요.
로컬 노드가 애플리케이션의 데이터 메시지 형식 또는 세션 상태에서 중요하지 않은 오류를 감지하는 경우에는 PLU 연결이 닫히지 않습니다. 대신, 적절한 오류 코드가 포함된 Status-Acknowledge(Nack-2) 가 있는 오류의 데이터 메시지가 거부됩니다. 어떤 데이터도 호스트에 전송되지 않습니다.
인바운드 체인이 오류로 종료되는 경우, 세션에서 반이중 프로토콜을 사용하면 애플리케이션에서는 수신 상태를 가정해야 합니다. (자세한 내용은 복구를 참조하세요.)
다음 6개의 그림은 로컬 노드와 애플리케이션 사이의 인바운드 체이닝 프로토콜 및 이러한 프로토콜이 기본 SNA 프로토콜과 어떻게 관련되어 있는지를 보여줍니다.
첫 번째 그림에서는 전체 인바운드 체인이 오류 없이 전송되고 호스트에 의해 수락됩니다. Status-Acknowledge(Ack) 를 수신한 후 애플리케이션은 호스트에 방향을 내줍니다.
인바운드 체인이 오류 없이 전송되고 호스트에서 수락됩니다.다음 그림에서는, 로컬 노드가 체인의 두 번째 데이터 메시지 형식(ECI 애플리케이션 플래그가 없는ACKRQD)에서 중요한 오류를 감지하고, 적절한 오류 코드와 함께 Status-Acknowledge(Nack-2) 를 애플리케이션에 보내고, PLU 연결을 닫습니다. 세션의 FM(함수 관리) 프로필이 CANCEL을 지원하는 경우에만 로컬 노드가 CANCEL을 생성합니다.
로컬 노드가 오류를 감지하고, 상태 메시지를 보내고, PLU 연결을 닫습니다.다음 그림에서는, 전체 인바운드 체인이 오류 없이 전송되지만 호스트에 의해 거부됩니다. 부정적인 응답 후, 애플리케이션은 수신 상태, 보류 중인 오류 복구를 입력해야 합니다. (자세한 내용은 복구를 참조하세요.)
인바운드 체인이 오류 없이 전송되지만 호스트에 의해 거부됩니다.다음 그림에서는 애플리케이션이 Status-Control(CANCEL) 를 전송하여 체인을 취소합니다. 애플리케이션에 방향이 유지되며 새 체인을 시작할 수 있다는 점에 유의하세요.
애플리케이션이 Status-Control(CANCEL)을 사용하여 체인을 취소합니다.다음 그림에서는 애플리케이션이 체인을 전송하는 동안 PLU 세션을 닫습니다. 세션의 FM 프로필이 CANCEL을 지원하는 경우에만 로컬 노드가 CANCEL을 생성합니다.
애플리케이션이 체인을 전송하는 동안 PLU 연결을 닫습니다.다음 그림에서는 로컬 노드가 체인의 두 번째 데이터 메시지 형식에서 중요하지 않은 오류를 감지하고 적절한 오류 코드와 함께 Status-Acknowledge(Nack-2) 를 애플리케이션에 보냅니다.
로컬 노드가 중요하지 않은 오류를 감지하고 Status-Acknowledge(Nack-2)를 보냅니다.
참고 항목
PLU 연결 열기
PLU 세션
아웃바운드 체이닝
세그먼트 배달
Brackets
방향
속도 및 청크
데이터 확인 및 거부]
종료 및 정지
복구
애플리케이션에서 시작한 종료
LUSTAT]
응답 시간 모니터 데이터