On 9 April 2011 13:46, Zimmer Hu <[email protected]> wrote: > As to my understanding (and your hints), > netsnmp_table_iterator_helper_handler goes through each row first; Then for > each row, it stores each column data(data_context) in TI_REQUEST_CACHE;
Close - but not quite. The iterator goes through each row of the table. For each row, it checks each varbind from the incoming request to see whether the row is the one required for that particular varbind. If so, then it remembers the data context for that row > After it finishes loop for all the rows, it read column data(data_context) > back from TI_REQUEST_CACHE and put them in each request's (== each column's) > TABLE_ITERATOR_NAME datalist, and then return. After the iterator has finished working through all of the rows of the table, it associates the appropriate row for each varbind with the request strucrure for that varbind, and finally calls the MIB-specific handler. Note that the list of 'request' structures is based on the list of varbinds from the incoming PDU, *not* the list of columns in the table. Dave ------------------------------------------------------------------------------ Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev _______________________________________________ Net-snmp-coders mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/net-snmp-coders
