Status-Acknowledge(Ack)
Status-Acknowledge(Ack) 메시지는 노드에서 애플리케이션으로 그리고 애플리케이션에서 노드로 흐르며, SSCP(시스템 서비스 제어 지점) 및 PLU(기본 논리적 단위) 연결 모두에서 사용됩니다.
다음 구조체는 노드에서 애플리케이션으로 흐르는 PLU 메시지 및 모든 SSCP 메시지의 메시지 형식을 보여 줍니다.
구문
struct Status-Acknowledge(Ack) {
PTRBFHDR nxtqptr;
PTRBFELT hdreptr;
CHAR numelts;
CHAR msgtype;
CHAR srcl;
CHAR srcp;
INTEGER srci;
CHAR destl;
CHAR destp;
INTEGER desti;
CHAR sfhdr.stackhdr.akstat;
CHAR sfhdr.stackhdr.akqual;
INTEGER sfhdr.stackhdr.akmsgkey;
CHAR sfhdr.stackhdr.akflags1;
CHAR sfhdr.stackhdr.akflags2;
INTEGER sfhdr.stackhdr.aknumb1;
INTEGER sfhdr.stackhdr.aknumb2;
INTEGER sfhdr.stackhdr.akseqno;
};
struct Status-Acknowledge(Ack) {
PTRBFELT hdreptr->elteptr;
INTEGER hdreptr->startd;
INTEGER hdreptr->endd;
CHAR hdreptr->trpad;
CHAR[268] hdreptr->dataru;
};
구성원
nxtqptr
다음 버퍼 헤더의 포인터입니다.
hdreptr
버퍼 요소에 관한 포인터입니다(LUA를 사용하지 않는 경우 NIL).
numelts
버퍼 요소 수입니다(LUA를 사용하지 않는 경우 0x00).
msgtype
메시지 유형 STATFMI(0x21)입니다.
srcl
원본 위치입니다.
srcp
원본 파트너입니다.
srci
원본 인덱스입니다.
destl
대상 위치입니다.
destp
대상 파트너입니다.
desti
대상 인덱스입니다.
sfhdr.stackhdr.akstat
상태 유형 ACK(0x01)입니다.
sfhdr.stackhdr.akqual
승인 유형 ACKPOS(0x02)입니다.
sfhdr.stackhdr.akmsgkey
메시지 키입니다.
sfhdr.stackhdr.akflags1
애플리케이션 플래그 1입니다.
sfhdr.stackhdr.akflags2
애플리케이션 플래그 2입니다.
sfhdr.stackhdr.aknumb1
정의되지 않았습니다.
sfhdr.stackhdr.aknumb2
예약되어 있습니다.
sfhdr.stackhdr.akseqno
SNA 시퀀스 번호입니다.
LUA에만 해당(설명 참조):
요소
hdreptr–>elteptr
버퍼 요소의 포인터입니다(NIL).
hdreptr–>startd
이 버퍼 요소에서 데이터의 시작입니다.
아웃바운드 분할된 요청/RU(응답 단위)의 두 번째 및 후속 세그먼트에 대해 13 또는 10
hdreptr–>endd
이 버퍼 요소에서 데이터의 끝입니다.
hdreptr-trpad>
예약되어 있습니다.
hdreptr-dataru>
데이터 RU입니다.
애플리케이션에서 노드로 흐르는 PLU 메시지의 메시지 형식은 애플리케이션 플래그 1 및 애플리케이션 플래그 2 필드가 사용되지 않는다는 점을 제외하고 이전 형식과 동일합니다. 이들은 다음 INTEGER 필드로 대체됩니다.
sfhdr.stackhdr.akmsgtim
마지막 호스트 응답 시간입니다.
- (0xFFFF) 응답 시간을 측정하지 않습니다.
- (0xnnnn) 측정된 마지막 응답 시간(0.1초 단위)입니다.
설명
메시지 키 및 애플리케이션 플래그는 승인 대상인 데이터 메시지의 메시지 키 및 애플리케이션 플래그를 반영합니다. 자세한 내용은 다음에 나오는 LUA 참고 사항을 참조하세요.
로컬 노드에서 애플리케이션으로 흐르는 아웃바운드 Status-Acknowledge(Ack) 메시지의 경우 SNA 시퀀스 번호는 승인 대상인 인바운드 데이터 메시지의 시퀀스 번호를 제공합니다. 자세한 내용은 다음에 나오는 LUA 참고 사항을 참조하세요. 일반적으로 TS 프로필(전송 서비스 프로필) 4 애플리케이션에서만 사용됩니다.
애플리케이션에서 로컬 노드로 흐르는 인바운드 Status-Acknowledge(Ack) 메시지의 경우 SNA 시퀀스 번호는 승인 대상인 아웃바운드 데이터 메시지의 시퀀스 번호를 반영합니다.
호스트가 응답 시간 통계를 유지하도록 지정한 경우 애플리케이션은 이 메시지의 akmsgtim 필드를 사용하여 로컬 노드에 대한 응답 시간을 측정 및 보고해야 합니다. 자세한 내용은 RTM 매개 변수 및 응답 시간 모니터 데이터를 참조하세요.
애플리케이션이 FMI(함수 관리 인터페이스)의 LUA 변형을 사용하는 경우 TH(전송 헤더) 및 해당하는 경우 RH(응답 헤더)가 데이터에 포함되고 startd 필드는 TH를 가리킵니다. akmsgkey, akflags1 및 akflags2 필드는 정의되지 않으며 사용하면 안됩니다. 대신 요소의 해당 데이터를 사용해야 합니다. akseqno 필드도 마찬가지로 로컬 노드에서 애플리케이션으로 흐르는 메시지에 정의되지 않습니다. 애플리케이션에서 로컬 노드로 흐르는 메시지에 설정해야 합니다. akseqno 필드는 승인되는 요청의 시퀀스 번호를 보관하는 데 사용됩니다. FMI에 대한 자세한 내용은 FMI Concepts(FMI 개념)를 참조하세요.
애플리케이션이 FMI의 LUA 변형을 사용하지 않는 경우 이 메시지는 버퍼 헤더로만 구성됩니다. 버퍼 요소는 없습니다.