Status-Acknowledge(Ack)
Le message Status-Acknowledge(Ack) passe du nœud à l’application et de l’application au nœud. Il est utilisé avec les connexions SSCP (System Services Control Point) et PLU (Primary Logical Unit).
La structure suivante montre le format de tous les messages SSCP et des messages PLU circulant du nœud vers l’application.
Syntaxe
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;
};
Membres
nxtqptr
Pointeur vers l’en-tête de mémoire tampon suivant.
hdreptr
Pointeur vers l’élément de mémoire tampon (NIL si vous n’utilisez pas LUA).
numelts
Nombre d’éléments de mémoire tampon (0x00 si vous n’utilisez pas LUA).
msgtype
Type de message STATFMI (0x21).
srcl
Localité source.
srcp
Partenaire source.
srci
Index source.
destl
Localité de destination.
destp
Partenaire de destination.
desti
Index de destination.
sfhdr.stackhdr.akstat
Type d’état ACK (0x01).
sfhdr.stackhdr.akqual
Type d’accusé de réception ACKPOS (0x02).
sfhdr.stackhdr.akmsgkey
Clé de message.
sfhdr.stackhdr.akflags1
Indicateur d’application 1.
sfhdr.stackhdr.akflags2
Indicateur d’application 2.
sfhdr.stackhdr.aknumb1
Non défini.
sfhdr.stackhdr.aknumb2
Réservé.
sfhdr.stackhdr.akseqno
Numéro de séquence SNA.
LUA uniquement (voir les remarques) :
Element
hdreptr–>elteptr
Pointeur vers l’élément de mémoire tampon (NIL).
hdreptr-startd>
Début des données dans cet élément de tampon.
13 ou 10 pour le deuxième segment des unités de requête-réponse segmentées sortantes et les suivants.
hdreptr-endd>
Fin des données dans cet élément de mémoire tampon.
hdreptr–>trpad
Réservé.
hdreptr-dataru>
Unité de requête-réponse de données.
Le format des messages PLU circulant de l’application vers le nœud est identique au format précédent, à ceci près que les champs Indicateur d’application 1 et Indicateur d’application 2 ne sont pas utilisés. Ils sont remplacés par le champ ENTIER suivant :
sfhdr.stackhdr.akmsgtim
Dernier temps de réponse de l’hôte.
- (0xFFFF) Aucun temps de réponse mesuré.
- (0xnnnn) Dernier temps de réponse mesuré en unités de 0,1 seconde.
Notes
La clé de message et les indicateurs d’application reflètent ceux du message de données dont ils accusent réception. (Pour plus d’informations, consultez la remarque sur LUA qui suit.)
Pour les messages Status-Acknowledge(Ack) sortants qui circulent du nœud local vers l’application, le numéro de séquence SNA reflète le numéro de séquence du message de données entrant dont il accuse réception. (Pour plus d’informations, consultez la remarque sur LUA qui suit.) Il n’est normalement utilisé que par les applications du profil de service de transmission 4.
Pour les messages Status-Acknowledge(Ack) entrants qui circulent de l’application vers le nœud local, le numéro de séquence SNA reflète le numéro de séquence du message de données sortant dont il accuse réception.
Si l’hôte a spécifié que les statistiques de temps de réponse doivent être conservées, l’application est chargée de mesurer les temps de réponse et de les envoyer au nœud local, en utilisant le champ akmsgtim de ce message. (Pour plus d’informations, consultez Paramètres RTM et Données du moniteur de temps de réponse.)
Si l’application utilise la variante LUA de l’interface de gestion des fonctions (FMI, Function Management Interface), l’en-tête de transmission et (le cas échéant) l’en-tête de réponse sont inclus dans les données, et le champ startd pointe vers l’en-tête de transmission. Les champs akmsgkey, akflags1et akflags2 ne sont pas définis et ne doivent pas être utilisés. Ce sont les données correspondantes provenant de l’élément qui doivent être employées. De même, le champ akseqno n’est pas défini sur les messages circulant du nœud local vers l’application. Il doit être spécifié sur les messages circulant de l’application vers le nœud local. Le champ akseqno est utilisé pour stocker le numéro de séquence de la demande dont il est accusé réception. (Pour plus d’informations sur l’interface FMI, consultez les concepts de FMI.)
Si l’application n’utilise pas la variante LUA de l’interface FMI, le message se compose uniquement d’un en-tête de tampon. Il n’y a pas d’élément de mémoire tampon.