Envoy Application Programming Manual

Table Of Contents
ADM-2 Multipoint Supervisor Protocol
Envoy Application Programming Manual427159-001
7-18
Message Formats
Defining a new poll list to Envoy with the DEFINELIST procedure or
Calling the CHANGELIST procedure and specifying that all terminals are to be
removed from the nonresponding list. Note that if a terminal’s poll state is set to
"disable polling," it is not be polled.
The Example 7-7
shows how to remove terminals from the nonresponding list:
In this example, a function of -2 clears the nonresponding list. A subsequent call to
READ with the line in the CONTROL state polls all terminals whose poll states are
enable polling.
The use of the nonresponding terminal list permits the application process to implement
a slow poll. By periodically clearing the nonresponding list, the application process can
detect terminals that are coming online. The application process, however, should keep
track of terminals that do not respond within a predetermined number of polling cycles.
The poll state of any permanently nonresponding terminals should be set to disable
polling.
Message Formats
A message is defined as the information transmitted over a communications line as a
result of a single call to a READ or WRITE procedure.
The information read to or written from the line-buffer area of the application process
consists of two parts: a one-word message control word (MCW) and the message:
line buffer[0] = MCW
line buffer[1:ms - 1] = message
where ms is the message size in words (message length in bytes plus one, divided by
two).
The form of the message control word is:
MCW.<5> = formatter of special message. This is used only if the message type is
special:
0 = Let Envoy format the message (that is, Envoy inserts terminal
addresses and function code characters).
1 = The application process has already formatted the message by
inserting the proper terminal addresses and function code characters.
The message formatted by the application process must cause the
Example 7-7. Remove Terminals From Nonresponding List
CALL CHANGELIST (linefnum, -2, 0);
IF < THEN ...
Note. f the nonresponding list becomes full (no terminal responds), a subsequent call to
READ results in error 176 (poll sequence ended with no responder). A new list must be defined
or all stations must be removed from the nonresponding list.