*DECK NVFSDQE USETEXT TEXTNVF USETEXT TEXTSS USETEXT TXSANVF PROC NVFSDQE; # TITLE NVFSDQE - DISPATCH QUEUE ENTRIES FOR MAINTAIN-APPL-STATUS PROC # BEGIN # NVFSDQE # # ** NVFSDQE - DISPATCH QUEUE ENTRIES FOR MAINTAIN-APPL-STATUS PROCESS. * * E. THAVIKULWAT 81/12/18 * * THIS PROCEDURE IS THE MAIN MODULE FOR MAINTAIN STATUS OF * APPLICATION PROCESS AND IS CALLED INTO EXECUTION WHENEVER THERE IS * DATA IN THE *ASQ* QUEUE. THE PROCEDURE'S MAIN FUNCTION IS TO * ROUTE EACH ENTRY IN ITS INPUT QUEUE TO THE APPROPRIATE ROUTINES. * * PROC NVFSDQE * * ENTRY: * ASQ - APPLICATION STATUS QUEUE * * EXIT: * ALL QUEUE ENTRIES PROCESSED. * * METHOD: * CALL *SSTRQE* TO COPY THE FIRST ENTRY IN THE QUEUE INTO THE * WORKING BUFFER. EACH ENTRY IS THEN ROUTED TO THE APPROPRIATE * ROUTINE TO BE PROCESSED. # # **** PROC NVFSDQE - XREF LIST. # XREF BEGIN PROC NVFSNOF; # PROCESS FAIL/APPL AND NET/OFF SM # PROC NVFSNON; # PROCESS NET/ON SM # PROC NVFSTIM; # PROCESS TIMEOUT OF REQUEST STARTED APPL # PROC SSTRQE; # TRANSFER QUEUE ENTRY TO FIXED BUFFER # END # **** # ITEM I I; # LOOP VARIABLE # ITEM SMID S:ASQSTAT; # SUBSCRIPT FOR GOTO SWITCH # SWITCH SASWT:ASQSTAT LLFAIL : SFAIL, # LABEL FOR FAIL/APPL SM # LLNETON : SNETON, # LABEL FOR NET/ON SM # LLNETOF : SNETOFF, # LABEL FOR NET/OFF SM # LLTIME : TIMEOUT; # LABEL FOR TIMEOUT PROCESSING # # * DISPATCH ENTRIES FROM *ASQ* TO APPROPRIATE ROUTINES. # FOR I = 0 WHILE ASQLNGTH NQ 0 DO BEGIN SSTRQE(P,WCBUF,ABHBUF,MSGBUF); # TRANSFER TO FIX BUFFER # SMID = WCB$SMID[0]; # GET INTERNAL SM IDENTIFIER # GOTO SASWT[SMID]; LLFAIL: # FAIL/APPL SM # LLNETOF: # NET/OFF SM # NVFSNOF; # PROCESS FAIL/APPL, NET/OFF SM # GOTO ENDSAS; LLNETON: # NET/ON SM # NVFSNON; # PROCESS NET/ON SM # GOTO ENDSAS; LLTIME: NVFSTIM; # TIMEOUT PROCESSING # GOTO ENDSAS; ENDSAS: # END OF CASE # END END # END NVFSDQE # TERM