*DECK CSCDQE USETEXT TEXTCS USETEXT TEXTSS USETEXT TXTAPSS PROC CSCDQE; # TITLE CSCDQE - DISPATCH QUEUE ENTRIES FOR THE CONNECTION LAYER. # BEGIN # CSCDQE # # ** CSCDQE - DISPATCH QUEUE ENTRIES FOR THE CONNECTION LAYER. * * D.G. DEPEW. 82/02/17. * * THIS PROCEDURE IS THE MAIN ROUTINE FOR THE CONNECTION LAYER. ITS * MAIN FUNCTION IS TO ROUTE ENTRIES IN THE CONNECTION TRAFFIC QUEUE * (*CNQ*) TO THE INDIVIDUAL C-LAYER PROCESSORS. * * PROC CSCDQE * * ENTRY 1. THE CONNECTION TRAFFIC QUEUE CONTAINS ONE OR MORE * ENTRIES. * * EXIT 1. THE CONNECTION TRAFFIC QUEUE IS EMPTY. * 2. VARIOUS ENTRIES HAVE BEEN PLACED IN THE OUTGOING * TRAFFIC QUEUE (*OTQ*), THE OPERATOR TYPEIN QUEUE * (*OPTQ*) AND THE PROTOCOL EVENT QUEUE (*PEQ*). # # **** PROC CSCDQE - XREF LIST. # XREF BEGIN PROC CSCANT; # ACCEPT NOP TYPEIN (UPON INPUT) # PROC CSCBPA; # BEGIN PROTOCOL ACTION # PROC CSCCPA; # COMPLETE PROTOCOL ACTION # PROC CSCPHT; # PREPARE HOP TEXT (FOR OUTPUT) # PROC CSCPNT; # PREPARE NOP TEXT (FOR OUTPUT) # PROC CSCUFS; # UPDATE FLOW CONTROL STATUS # PROC CSCUHS; # UPDATE HOP STATUS # PROC SSTRQE; # REMOVE QUEUE ENTRY # END # **** # ITEM I; # LOOP INDUCTION VARIABLE # FOR I=0 WHILE CNQL NQ 0 DO # PROCESS CONNECTION TRAFFIC Q TIL EMPTY # BEGIN # * REMOVE THE ENTRY FROM THE CONNECTION TRAFFIC QUEUE AND CALL THE * APPROPRIATE C-LAYER ROUTINE IN ACCORDANCE WITH THE CS INTERNAL * SM IDENTIFIER. # SSTRQE (P, WCBUF[0], ABHBUF[0], MSGBUF[0]); IF WCB$SMID[0] EQ SMID"DATAIN" THEN # INBOUND DATA FROM A TERMINAL # CSCANT; # ACCEPT NOP TYPEIN # ELSE IF WCB$SMID[0] EQ SMID"TTEXT" THEN # OUTBOUND DATA TO AN OPERATOR # IF ABHADR[0] EQ HOPORD$ THEN CSCPHT; # PREPARE HOP TEXT # ELSE CSCPNT; # PREPARE NOP TEXT # ELSE IF WCB$SMID[0] EQ SMID"SHUINS" OR WCB$SMID[0] EQ SMID"CONREQ" OR WCB$SMID[0] EQ SMID"CONCB" OR WCB$SMID[0] EQ SMID"TCHTCH" OR WCB$SMID[0] EQ SMID"CONENDN" THEN # CONNECTION PROTOCOL SM # CSCBPA; # BEGIN PROTOCOL ACTION # ELSE IF WCB$SMID[0] EQ SMID"CONREQN" OR WCB$SMID[0] EQ SMID"CONENDR" OR WCB$SMID[0] EQ SMID"HOPSRTN" THEN # PROTOCOL RESPONSE FM I-LAYER # CSCCPA; # COMPLETE PROTOCOL ACTION # ELSE IF WCB$SMID[0] EQ SMID"FCACK" OR WCB$SMID[0] EQ SMID"INTRUSR" OR WCB$SMID[0] EQ SMID"BIMARK" OR WCB$SMID[0] EQ SMID"FCINA" OR WCB$SMID[0] EQ SMID"FCINIT" OR WCB$SMID[0] EQ SMID"FCNAK" THEN # FLOW CONTROL SM # CSCUFS; # UPDATE FLOW STATUS # ELSE # MUST BE SPEC HOST OPERATOR SM # CSCUHS; # UPDATE HOP STATUS # END END # CSCDQE # TERM