User Tools

Site Tools


cdc:nos2.source:nam5871:nvfcdqe

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
  1. *DECK NVFCDQE
  2. USETEXT TXTANVF
  3. USETEXT TEXTSS
  4. USETEXT TEXTNVF
  5. USETEXT TXTAPSS
  6. PROC NVFCDQE;
  7. # TITLE NVFCDQE - DISPATCH QUEUE ENTRIES FOR CONNECTION LAYER PROCESS. #
  8.  
  9. BEGIN # NVFDQE #
  10. #
  11. ** NVFCDQE - DISPATCH QUEUE ENTRIES FOR CONNECTION LAYER PROCESS.
  12. *
  13. * S. H. FISCHER. 81/12/07.
  14. * D. G. DEPEW. 82/04/09.
  15. * C. J. BRION 82/06/01,83/04/23.
  16. *
  17. * THIS PROCEDURE IS THE MAIN ROUTINE FOR THE CONNECTION LAYER. ITS
  18. * MAIN FUNCTION IS TO ROUTE ENTRIES IN THE CONNECTION TRAFFIC QUEUE
  19. * (*CTQ*) TO THE INDIVIDUAL C-LAYER PROCESSORS.
  20. *
  21. * PROC NVFCDQE
  22. *
  23. * ENTRY 1. THE CONNECTION TRAFFIC QUEUE CONTAINS ONE OR MORE
  24. * ENTRIES.
  25. *
  26. * EXIT 1. THE CONNECTION TRAFFIC QUEUE IS EMPTY.
  27. * 2. VARIOUS ENTRIES MAY HAVE BEEN PLACED IN THE OUTGOING
  28. * TRAFFIC QUEUE (*OTQ*), THE OPERATOR TYPEIN QUEUE
  29. * (*OPTQ*), THE PROTOCOL EVENT QUEUE (*PEQ*), THE
  30. * TERMINAL-TO-APPLICATION CONNECTION INPUT QUEUE
  31. * (*TAINPQ*), AND/OR THE APPLICATION-TO-APPLICATION
  32. * CONNECTION INPUT QUEUE (*AAINPQ*) DEPENDING UPON WHAT
  33. * INPUT WAS RECEIVED VIA THE *CTQ*. REFER TO THE
  34. * INDIVIDUAL CALLED ROUTINE DESCRIPTIONS FOR DETAILS.
  35. #
  36.  
  37.  
  38.  
  39.  
  40. #
  41. **** PROC NVFCDQE - XREF LIST.
  42. #
  43. XREF
  44. BEGIN
  45. PROC SSTRQE; # REMOVE QUEUE ENTRY #
  46. PROC NVFCAUT; # ACCEPT USER TEXT #
  47. PROC NVFCPHT; # PREPARE HOP TEXT #
  48. PROC NVFCPUT; # PREPARE USER TEXT #
  49. PROC NVFCBPA; # BEGIN PROTOCOL ACTION #
  50. PROC NVFCCPA; # COMPLETE PROTOCOL ACTION #
  51. PROC NVFCUFS; # UPDATE FLOW STATUS #
  52. PROC NVFCUHS; # UPDATE HOP STATUS #
  53. PROC NVFCUPS; # UPDATE PID STATUS #
  54. END
  55. #
  56. ****
  57. #
  58.  
  59.  
  60.  
  61.  
  62. ITEM I I; # LOOP VARIABLE #
  63.  
  64.  
  65.  
  66.  
  67. #
  68. ** BLSWT - BLOCK SWITCH.
  69. *
  70. * THE MAJOR DISPATCH KEY IS APPLICATION BLOCK TYPE.
  71. * THIS SWITCH IS USED TO SELECT THE APPROCIATE ROUTINE TO PROCESS
  72. * THE BLOCK. SUPERVISORY MESSAGES NEED ADDITIONAL SWITCHING.
  73. #
  74.  
  75. #
  76. **** BLOCK TYP ROUTINE
  77. #
  78. SWITCH BLSWT
  79. LBLNULL, # APPNULL 0 NVFCAUT #
  80. LBLBLK, # APPBLK 1 NVFCAUT #
  81. LBLMSG, # APMSG 2 NVFCAUT #
  82. LBLCMD, # APPCMD 3 NVFCAUT - NVFC*** #
  83. ENDTAS, # 4 #
  84. ENDTAS, # 5 #
  85. ENDTAS, # 6 #
  86. LBLTTX, # APPTTX$ 7 NVFCPUT #
  87. LBLPTX, # APPPTX$ 8 NVFCPUT #
  88. LBLPR, # APPPR$ 9 NVFCPUT - NVFCCPA #
  89. LBLHOP, # HOPTX$ 10 NVFCPHT #
  90. ;
  91.  
  92. # *** = SEE SWITCH SMSWT #
  93. #
  94. ****
  95. #
  96.  
  97.  
  98.  
  99.  
  100. #
  101. ** SMSWT - SUPERVISORY MESSAGE SWITCH (INBOUND ASYNCHRONOUS SM S).
  102. *
  103. * THIS SWITCH IS USED TO SELECT THE APPROCIATE ROUTINE TO PROCESS
  104. * INBOUND ASYNCHRONOUS SUPERVISORY MESSAGES.
  105. #
  106.  
  107. #
  108. **** PFC/SFC ROUTINE
  109. #
  110. SWITCH SMSWT:CTQSTAT
  111. CNPROTO: SACC, # CR/ACC NVFCBPA #
  112. CNPROTO: SCB, # CR/CB NVFCBPA #
  113. CNPROTO: SITE, # CR/ITE NVFCBPA #
  114. CNPROTO: SIAP, # CR/IAP NVFCBPA #
  115. CNPROTO: SRAP, # CR/RAP NVFCBPA #
  116. CNPROTO: SRCN, # CR/RCN NVFCBPA #
  117. CNPROTO: SSWHN, # CR/SWH/N NVFCBPA #
  118. CNPROTO: STRMN, # CR/TRM/N NVFCBPA #
  119. CNPROTO: STCHAR, # TCH/TCHAR NVFCBPA #
  120.  
  121. FLOWCON: SACK, # FC/ACK NVFCUFS #
  122. FLOWCON: SBRK, # FC/BRK NVFCUFS #
  123. FLOWCON: SIUSR, # INTR/USR NVFCUFS #
  124. FLOWCON: SINA, # FC/INACT NVFCUFS #
  125. FLOWCON: SINIT, # FC/INIT NVFCUFS #
  126. FLOWCON: SNAK, # FC/NAK NVFCUFS #
  127.  
  128. SHOPMSG: SHBRK, # HOP/BRK NVFCUHS #
  129. SHOPMSG: SHCMD, # HOP/CMD NVFCUHS #
  130. SHOPMSG: SHEND, # HOP/END NVFCUHS #
  131. SHOPMSG: SHIG, # HOP/IG NVFCUHS #
  132. SHOPMSG: SHPAGE, # HOP/PAGE NVFCUHS #
  133. SHOPMSG: SHSTART, # HOP/START NVFCUHS #
  134.  
  135. SSLLMSG: SSLL; # CR/SLL NVFCUPS #
  136. #
  137. ****
  138. #
  139.  
  140.  
  141.  
  142.  
  143.  
  144. # DISPATCH ENTRIES FROM *CTQ* TO APPROPRIATE ROUTINES. #
  145.  
  146. FOR I = 0 WHILE CTQLNGTH NQ 0
  147. DO
  148. BEGIN
  149.  
  150. # CLEAR MESSAGE BUFFER. #
  151.  
  152. FOR I = 0 STEP 1 UNTIL NMSGBUF$
  153. DO
  154. BEGIN
  155. MSG$WORD[I] = 0;
  156. END
  157.  
  158. SSTRQE( P<CTQ>, WCBUF, ABHBUF, MSGBUF ); # XFER TO FIX BUFFER #
  159.  
  160.  
  161.  
  162.  
  163.  
  164. # SELECT CASE FOR APPLICATION BLOCK TYPE. #
  165.  
  166.  
  167. GOTO BLSWT[ABHABT[0]];
  168.  
  169.  
  170.  
  171.  
  172. # NULL, BLK AND MSG BLOCKS INPUT FROM THE NETWORK. #
  173.  
  174. LBLNULL:
  175. LBLBLK:
  176. LBLMSG:
  177. NVFCAUT; # ACCEPT USER TEXT #
  178. GOTO ENDTAS;
  179.  
  180.  
  181.  
  182.  
  183. # SUPERVISORY MESSAGES INPUT FROM THE NETWORK. #
  184.  
  185. LBLCMD:
  186. IF ABHADR[0] EQ 0
  187. THEN
  188. BEGIN # ASYNCHRONOUS SM #
  189.  
  190. # SELECT CASE FOR PFC/SFC. #
  191.  
  192.  
  193. GOTO SMSWT[WCB$SMID[0]];
  194.  
  195.  
  196.  
  197.  
  198. CNPROTO:
  199.  
  200. NVFCBPA; # BEGIN PROTOCOL ACTION #
  201. GOTO ENDTAS;
  202.  
  203.  
  204.  
  205.  
  206. SHOPMSG:
  207.  
  208. NVFCUHS; # UPDATE HOP STATUS #
  209. GOTO ENDTAS;
  210.  
  211. SSLLMSG:
  212.  
  213. NVFCUPS;
  214. GOTO ENDTAS;
  215.  
  216. FLOWCON:
  217.  
  218. NVFCUFS; # UPDATE FLOW STATUS #
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227. END
  228. ELSE
  229. BEGIN # SYNCHRONOUS SM #
  230. NVFCUFS; # UPDATE FLOW STATUS #
  231. END
  232. GOTO ENDTAS;
  233.  
  234.  
  235.  
  236.  
  237. # BLK AND MSG BLOCKS OUTPUT TO THE NETWORK. #
  238.  
  239. LBLTTX:
  240. LBLPTX:
  241. NVFCPUT; # PREPARE USER TEXT #
  242. GOTO ENDTAS;
  243.  
  244.  
  245.  
  246.  
  247. # SUPERVISORY MESSAGES OUTPUT TO THE NETWORK. #
  248.  
  249. LBLPR:
  250. IF ABHADR[0] EQ 0
  251. THEN
  252. BEGIN # ASYNCHRONOUS SM #
  253. NVFCCPA; # COMPLETE PROTOCOL ACTION #
  254. END
  255. ELSE
  256. BEGIN # SYNCHRONOUS SM #
  257. NVFCPUT; # PREPARE USER TEXT #
  258. END
  259. GOTO ENDTAS;
  260.  
  261.  
  262.  
  263.  
  264.  
  265. # OPERATOR RESPONSE MESSAGES (TEXT) DESTINED FOR THE HOP. #
  266.  
  267. LBLHOP:
  268. NVFCPHT; # PREPARE HOP TEXT #
  269.  
  270.  
  271.  
  272.  
  273. ENDTAS:
  274. END
  275.  
  276.  
  277. END # NVFCDQE #
  278. TERM
cdc/nos2.source/nam5871/nvfcdqe.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator