cdc:nos2.source:nam5871:nvfcdqe
Table of Contents
NVFCDQE
Table Of Contents
- [00006] PROC NVFCDQE
- [00007] NVFCDQE - DISPATCH QUEUE ENTRIES FOR CONNECTION LAYER PROCESS.
- [00011] DISPATCH QUEUE ENTRIES FOR CONNECTION LAYER PROCESS.
- [00045] PROC SSTRQE
- [00046] PROC NVFCAUT
- [00047] PROC NVFCPHT
- [00048] PROC NVFCPUT
- [00049] PROC NVFCBPA
- [00050] PROC NVFCCPA
- [00051] PROC NVFCUFS
- [00052] PROC NVFCUHS
- [00053] PROC NVFCUPS
- [00068] BLSWT - BLOCK SWITCH.
- [00101] SMSWT - SUPERVISORY MESSAGE SWITCH (INBOUND ASYNCHRONOUS SM S).
Source Code
- NVFCDQE.txt
- *DECK NVFCDQE
- USETEXT TXTANVF
- USETEXT TEXTSS
- USETEXT TEXTNVF
- USETEXT TXTAPSS
- PROC NVFCDQE;
- # TITLE NVFCDQE - DISPATCH QUEUE ENTRIES FOR CONNECTION LAYER PROCESS. #
- BEGIN # NVFDQE #
- #
- ** NVFCDQE - DISPATCH QUEUE ENTRIES FOR CONNECTION LAYER PROCESS.
- *
- * S. H. FISCHER. 81/12/07.
- * D. G. DEPEW. 82/04/09.
- * C. J. BRION 82/06/01,83/04/23.
- *
- * THIS PROCEDURE IS THE MAIN ROUTINE FOR THE CONNECTION LAYER. ITS
- * MAIN FUNCTION IS TO ROUTE ENTRIES IN THE CONNECTION TRAFFIC QUEUE
- * (*CTQ*) TO THE INDIVIDUAL C-LAYER PROCESSORS.
- *
- * PROC NVFCDQE
- *
- * ENTRY 1. THE CONNECTION TRAFFIC QUEUE CONTAINS ONE OR MORE
- * ENTRIES.
- *
- * EXIT 1. THE CONNECTION TRAFFIC QUEUE IS EMPTY.
- * 2. VARIOUS ENTRIES MAY HAVE BEEN PLACED IN THE OUTGOING
- * TRAFFIC QUEUE (*OTQ*), THE OPERATOR TYPEIN QUEUE
- * (*OPTQ*), THE PROTOCOL EVENT QUEUE (*PEQ*), THE
- * TERMINAL-TO-APPLICATION CONNECTION INPUT QUEUE
- * (*TAINPQ*), AND/OR THE APPLICATION-TO-APPLICATION
- * CONNECTION INPUT QUEUE (*AAINPQ*) DEPENDING UPON WHAT
- * INPUT WAS RECEIVED VIA THE *CTQ*. REFER TO THE
- * INDIVIDUAL CALLED ROUTINE DESCRIPTIONS FOR DETAILS.
- #
- #
- **** PROC NVFCDQE - XREF LIST.
- #
- XREF
- BEGIN
- PROC SSTRQE; # REMOVE QUEUE ENTRY #
- PROC NVFCAUT; # ACCEPT USER TEXT #
- PROC NVFCPHT; # PREPARE HOP TEXT #
- PROC NVFCPUT; # PREPARE USER TEXT #
- PROC NVFCBPA; # BEGIN PROTOCOL ACTION #
- PROC NVFCCPA; # COMPLETE PROTOCOL ACTION #
- PROC NVFCUFS; # UPDATE FLOW STATUS #
- PROC NVFCUHS; # UPDATE HOP STATUS #
- PROC NVFCUPS; # UPDATE PID STATUS #
- END
- #
- ****
- #
- ITEM I I; # LOOP VARIABLE #
- #
- ** BLSWT - BLOCK SWITCH.
- *
- * THE MAJOR DISPATCH KEY IS APPLICATION BLOCK TYPE.
- * THIS SWITCH IS USED TO SELECT THE APPROCIATE ROUTINE TO PROCESS
- * THE BLOCK. SUPERVISORY MESSAGES NEED ADDITIONAL SWITCHING.
- #
- #
- **** BLOCK TYP ROUTINE
- #
- SWITCH BLSWT
- LBLNULL, # APPNULL 0 NVFCAUT #
- LBLBLK, # APPBLK 1 NVFCAUT #
- LBLMSG, # APMSG 2 NVFCAUT #
- LBLCMD, # APPCMD 3 NVFCAUT - NVFC*** #
- ENDTAS, # 4 #
- ENDTAS, # 5 #
- ENDTAS, # 6 #
- LBLTTX, # APPTTX$ 7 NVFCPUT #
- LBLPTX, # APPPTX$ 8 NVFCPUT #
- LBLPR, # APPPR$ 9 NVFCPUT - NVFCCPA #
- LBLHOP, # HOPTX$ 10 NVFCPHT #
- ;
- # *** = SEE SWITCH SMSWT #
- #
- ****
- #
- #
- ** SMSWT - SUPERVISORY MESSAGE SWITCH (INBOUND ASYNCHRONOUS SM S).
- *
- * THIS SWITCH IS USED TO SELECT THE APPROCIATE ROUTINE TO PROCESS
- * INBOUND ASYNCHRONOUS SUPERVISORY MESSAGES.
- #
- #
- **** PFC/SFC ROUTINE
- #
- SWITCH SMSWT:CTQSTAT
- CNPROTO: SACC, # CR/ACC NVFCBPA #
- CNPROTO: SCB, # CR/CB NVFCBPA #
- CNPROTO: SITE, # CR/ITE NVFCBPA #
- CNPROTO: SIAP, # CR/IAP NVFCBPA #
- CNPROTO: SRAP, # CR/RAP NVFCBPA #
- CNPROTO: SRCN, # CR/RCN NVFCBPA #
- CNPROTO: SSWHN, # CR/SWH/N NVFCBPA #
- CNPROTO: STRMN, # CR/TRM/N NVFCBPA #
- CNPROTO: STCHAR, # TCH/TCHAR NVFCBPA #
- FLOWCON: SACK, # FC/ACK NVFCUFS #
- FLOWCON: SBRK, # FC/BRK NVFCUFS #
- FLOWCON: SIUSR, # INTR/USR NVFCUFS #
- FLOWCON: SINA, # FC/INACT NVFCUFS #
- FLOWCON: SINIT, # FC/INIT NVFCUFS #
- FLOWCON: SNAK, # FC/NAK NVFCUFS #
- SHOPMSG: SHBRK, # HOP/BRK NVFCUHS #
- SHOPMSG: SHCMD, # HOP/CMD NVFCUHS #
- SHOPMSG: SHEND, # HOP/END NVFCUHS #
- SHOPMSG: SHIG, # HOP/IG NVFCUHS #
- SHOPMSG: SHPAGE, # HOP/PAGE NVFCUHS #
- SHOPMSG: SHSTART, # HOP/START NVFCUHS #
- SSLLMSG: SSLL; # CR/SLL NVFCUPS #
- #
- ****
- #
- # DISPATCH ENTRIES FROM *CTQ* TO APPROPRIATE ROUTINES. #
- FOR I = 0 WHILE CTQLNGTH NQ 0
- DO
- BEGIN
- # CLEAR MESSAGE BUFFER. #
- FOR I = 0 STEP 1 UNTIL NMSGBUF$
- DO
- BEGIN
- MSG$WORD[I] = 0;
- END
- SSTRQE( P<CTQ>, WCBUF, ABHBUF, MSGBUF ); # XFER TO FIX BUFFER #
- # SELECT CASE FOR APPLICATION BLOCK TYPE. #
- GOTO BLSWT[ABHABT[0]];
- # NULL, BLK AND MSG BLOCKS INPUT FROM THE NETWORK. #
- LBLNULL:
- LBLBLK:
- LBLMSG:
- NVFCAUT; # ACCEPT USER TEXT #
- GOTO ENDTAS;
- # SUPERVISORY MESSAGES INPUT FROM THE NETWORK. #
- LBLCMD:
- IF ABHADR[0] EQ 0
- THEN
- BEGIN # ASYNCHRONOUS SM #
- # SELECT CASE FOR PFC/SFC. #
- GOTO SMSWT[WCB$SMID[0]];
- CNPROTO:
- NVFCBPA; # BEGIN PROTOCOL ACTION #
- GOTO ENDTAS;
- SHOPMSG:
- NVFCUHS; # UPDATE HOP STATUS #
- GOTO ENDTAS;
- SSLLMSG:
- NVFCUPS;
- GOTO ENDTAS;
- FLOWCON:
- NVFCUFS; # UPDATE FLOW STATUS #
- END
- ELSE
- BEGIN # SYNCHRONOUS SM #
- NVFCUFS; # UPDATE FLOW STATUS #
- END
- GOTO ENDTAS;
- # BLK AND MSG BLOCKS OUTPUT TO THE NETWORK. #
- LBLTTX:
- LBLPTX:
- NVFCPUT; # PREPARE USER TEXT #
- GOTO ENDTAS;
- # SUPERVISORY MESSAGES OUTPUT TO THE NETWORK. #
- LBLPR:
- IF ABHADR[0] EQ 0
- THEN
- BEGIN # ASYNCHRONOUS SM #
- NVFCCPA; # COMPLETE PROTOCOL ACTION #
- END
- ELSE
- BEGIN # SYNCHRONOUS SM #
- NVFCPUT; # PREPARE USER TEXT #
- END
- GOTO ENDTAS;
- # OPERATOR RESPONSE MESSAGES (TEXT) DESTINED FOR THE HOP. #
- LBLHOP:
- NVFCPHT; # PREPARE HOP TEXT #
- ENDTAS:
- END
- END # NVFCDQE #
- TERM
cdc/nos2.source/nam5871/nvfcdqe.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator