Envoy Application Programming Manual

Table Of Contents
ADM-2 Multipoint Supervisor Protocol
Envoy Application Programming Manual427159-001
7-17
Nonresponding Terminal List
In this example, terminal 2 ("22p") is not polled when polling is initiated.
Example of Selective Polling (After Calling DEFINELIST)
The following example shows how to enable polling for a specific terminal by means of
a call to the CHANGELIST procedure. The terminal to be enabled for polling is
terminal "22p" in the above example.
CALL CHANGELIST (linefnum,1,0); ! enable polling for entry 1.
In this example, terminal 2 ("22p") is polled on the next pass through the poll list.
Nonresponding Terminal List
The nonresponding terminal list is a list, internal to Envoy, that Envoy uses to keep track
of terminals that do not respond to polling. If a polled terminal does not respond with
either an EOT sequence or a message within the timeout period specified for the line, its
address is entered into the nonresponding terminal list. Terminals in the nonresponding
terminal list are referred to as being partially disabled. Partially disabled terminals are
not polled when a poll sequence is performed.
Terminals are removed from the nonresponding list and returned to polling state, in
either of two ways:
Example 7-6. Disable Polling for a Specific Terminal
LITERAL
addr^size = 3, ! address size in words.
num^entries = 6, ! number of address-list
!entries.
NULL = 0, ! ASCII NULL character.
EOT = 4, ! ASCII EOT character.
ENQ = 5, ! ASCII ENQ character.
poll^count = 3, ! number of poll-list entries.
no^poll = %200; ! used to set poll-state bit.
STRING
.saddr^list[ 0 : addr^size * num^entries * 2 - 1] :=
! address list.
[NULL, EOT, "11p", ENQ, ! terminal 1 poll.
no^poll + NULL, EOT, "22p", ENQ, ! terminal 2 poll.
NULL, EOT, "33p", ENQ, ! terminal 3 poll.
NULL, EOT, "11q", ENQ, ! terminal 1 select.
NULL, EOT, "22q", ENQ, ! terminal 2 select.
NULL, EOT, "33q", ENQ] ; ! terminal 3 select.
INT .addr^list := @saddr^list ’>>’ 1; ! redefine as INT
!array.
CALL DEFINELIST (linefnum,addr^list,addr^size,num^entries,
poll^count,poll^type);
IF < THEN ...