![Manual background](/images/new-backgrounds/120363/120363165x1.webp)
eSNMP API Routines
*_set Routine
If any row reports failure, all rows that were successfully committed are told to undo the phase. This is accomplished by calling a single method routine for each row (the same one that was called for the commit phase), with a
4.Each row is released. The same single method routine for each row is called with a
The action codes are processed as follows:
•ESNMP_ACT_SET
Each object’s method routine is called during the SET phase, until all objects are processed or a method routine returns an error status value. (This is the only phase during which each object’s method routine is called.) For variable bindings in the same conceptual row,
CONTEXT.
The
The method routine’s job in this phase is to determine whether the Set request will work, to return the correct SNMP error code if it does not, and to prepare any context data it needs to actually perform the Set request during the COMMIT phase.
The
•ESNMP_ACT_COMMIT
Even though several variable bindings may be in a conceptual row, only the last one in order of the Set request is processed. Of all the method routines that point to a common row, only the last method routine is called.
This method routine must have available to it all necessary data and context to perform the operation. It must also save a snapshot of current data or whatever it needs to undo the Set operation, if required. The
The
If this operation succeeds, return ESNMP_MTHD_noError; otherwise, return a value of ESNMP_MTHD_commitFailed.
If any errors were returned during the COMMIT phase, libesnmp enters the UNDO phase; if not, it enters the CLEANUP phase.
Note
If the Set request spans multiple subagents and another subagent fails, the UNDO phase may occur even if the Set operation is successful
eSNMP API Routines