Guardian Programmer's Guide

Table Of Contents
Writing a Server Program
Guardian Programmer’s Guide 421922-014
22 - 43
The Process-Order Server ($SER2)
!----------------------------------------------------------
! Procedure to process a system message other than Open or
! Close.
!------------------------------------------------------------
PROC PROCESS^OTHER^MESSAGE;
BEGIN
INT INDEX, STATUS, COUNT^READ;
INDEX := -1;
DO BEGIN
STATUS := OPENER_LOST_( BUFFER:COUNT^READ,
OPENER^TABLE.OCB[1], INDEX,
MAX^OPENERS, $LEN( OPENER^TABLE.OCB[1] ));
IF STATUS = 6 THEN
OPENER^TABLE.CURRENT^COUNT :=
OPENER^TABLE.CURRENT^COUNT - 1;
END
UNTIL STATUS = 0 OR STATUS = 2 OR STATUS 3 OR STATUS = 7;
REPLY^ERROR := 0;
REPLY^LEN := 0;
END;
!------------------------------------------------------------
! Procedure to process a system message.
!------------------------------------------------------------
PROC PROCESS^SYSTEM^MESSAGE;
BEGIN
CASE BUFFER[0] OF
BEGIN
-103 -> CALL PROCESS^OPEN^MESSAGE;
-104 -> CALL PROCESS^CLOSE^MESSAGE;
OTHERWISE -> CALL PROCESS^OTHER^MESSAGE;
END;
END;