Timers are used to control several mechanisms in this implementation
of the HDLC-NRM (SDLC) protocol.
Response Timer |
 |
The principal timer used to control the polling cycle is the
T1 timer, which is a parameter for each primary station. Its value
is configured as described in the next chapter. When the primary
station sends a frame with the Poll bit set to the secondary, the
T1 timer is started. It is restarted when an I-frame is received
without the Final bit. The timer is stopped when a frame is received
from the secondary station with the Final bit set. If the T1 timer
expires, the primary station will issue another poll (to the same
or another secondary station).
If timeouts continue to occur, up to the configured retry
limit, without a good response being received, the primary will
send a mode setting command (Set Normal Response Mode or SNRM) with
the Poll bit set to the secondary to cause a reset. The SNRM command
also uses the T1 timer to ensure that it receives a response. If
no response is received to the SNRM command for the configured retry
limit, the terminal is marked down, and an unsolicited status message
is sent to the application.
When down, the primary protocol software will conserve line
time by polling the station only once in every slow poll cycle,
unless the 'No Slow Poll' option is set for the terminal. The slow
poll interval for the HDLC-NRM (SDLC) protocol is 33 seconds. Once
the secondary station responds to a poll, it will be reinstated
to the normal poll cycle. At the time when it successfully responds
to a SNRM command after being down, the protocol software will issue
an unsolicited status message to the application with reason code “No
error detected”, indicating that the terminal is now operational.
Poll Timer |
 |
The secondary station has a timer configured to allow the
protocol software to detect and inform the application when it is
no longer receiving a poll from the primary. This timer is started
when the terminal is enabled, and restarted whenever a poll is received
by a particular secondary station. When this timer expires, the
protocol software will mark the secondary station down and inform
the application program with an unsolicited status message indicating
that the “Host has stopped polling”.
Terminal Busy Timer |
 |
When a terminal is busy (responds to polls or other frames
with a Receiver Not Ready or RNR frame and is unable to accept messages),
a timer known as the terminal busy timer is started. The value of
this timer is approximately 30 to 40 seconds. The timer is stopped
when the terminal is no longer busy. If the timer expires, any transmit
messages which have not been transmitted to the terminal and acknowledged
will be rejected with an error “Terminal busy for too long”.