3
while (ring receive buffer not empty and side buffer not empty):
Initialize pointer to first message in side buffer or ring receive buffer
get copy of buffer
switch (message):
case (incoming_message):
if (sending switch is out of service):
if (ring write buffer is empty):
send "in service" to status map
else:
break // <- 800억 짜리 오류의 원인
END IF
process incoming message, set up pointers to optional parameters
break
END SWITCH
do optional parameter work