SNMP Subagent Programmer's Guide

Programming Tutorials
SNMP Subagent Programmer’s Guide119728 2-27
Fault-Tolerant Hello World Program
Fault-Tolerant Hello World behaves like Nowaited Hello World once connection with a
particular NonStop agent has been established:
It prints the value of helloOutputText at the frequency associated with
helloPrintFreq.
It also prints the value of helloOutputText when it receives any request.
It supports Get and Set operations on helloOutputText.
It supports Get and Set operations on helloPrintFreq.
It supports Get operations on helloPrintCnt.
It generates a trap when the value of helloPrintFreq changes.
MIB
This program uses the same MIB as Hello World. The MIB is shown in Example 2-1,
earlier in this section.
Logic
Fault-Tolerant Hello World builds an array of a structure that uniquely identifies each
NonStop agent connection. The mgmt_read_nowait() function and the AWAITIOX
procedure are used to detect requests that arrive from any of the agents.
Logic Flow
Figure 2-3 summarizes how Fault-Tolerant Hello World uses management functions and
Guardian procedure calls:
1. The mgmt_init_env(), mgmt_new_instance(), and mgmt_read_nowait() functions
are called for each NonStop agent specified at invocation. Then, the subagent cycles
through the following calls until no agent connections remain.
2. The AWA IT I O X procedure determines whether any external message or file is
ready to process.
3. The FILE_GETINFO_ procedure obtains information about any incomplete I/O
operations. If a timeout has occurred, the current value of helloOutputText is
printed.
4. If a message arrives from any of the specified agents, mgmt_poll() processes it.
5. When the message requests a Set operation on helloPrintFreq, mgmt_trap()
generates a trap.
6. The mgmt_read_nowait() function re-posts a read for any NonStop agent from
which a message was received.