Send a GetBulkRequest packet.
procedure SendGetBulkRequest(NonRepeaters: Integer; MaxRepetitions: Integer);
Sends a GetBulkRequest packet. This is only available for SNMP versions 2 and 3.
NonRepeaters specifies the number of variables for which a single lexicographic successor is to be returned.
MaxRepetitions specifies the number of lexicographic successors to be returned for variables other than those in the NonRepeaters list.
The object identifiers, types, and values for the request are taken from the Objects collection.
A GetBulkRequest is very similar to a GetNextRequest, the difference is that Getbulk performs a continuous GetNext operation based on the MaxRepitions value. The NonRepeaters value will determine the number of Objects for which a simple GetNext operation should be performed. For the remaining variables, a continuous GetNext operation is performed based on the MaxRepitions value.
So if you send a request containing X objects, the agent will perform N simple GetNext operations and M continuous GetNext operations X - N times. With X being the number of objects received, N being the number of NonRepeaters, and M being the number of MaxRepitions. Thus the SNMPMgr is expecting to receive N + M x (X - N) objects, assuming that each object has M successors.
Example (Sending a GetBulk Request)
SNMPControl.RemoteHost = "MyAgent" SNMPControl.ObjCount = 2 SNMPControl.ObjId(0) = "18.104.22.168.22.214.171.124.0" SNMPControl.objId(1) = "126.96.36.199.188.8.131.52.0" SNMPControl.SendGetBulkRequest(1,4)
The code sample above will send a GetBulkRequest with 1 non repeater, and a maxrepetitions of 4. Since there is only 1 non repeater, only one ObjID will "not repeat" and will only return one successor. The rest of the ObjID's (in this case, only 1) will return 4 successors. This particular example will return the following ObjID's: