Mib table and DB table

Ron Sperber - Israel RonS____gilat.com
Tue Aug 21 18:54:06 CEST 2001


Alex,
Thanks AGAIN for your help, but I still at a loss:
I thought the MibTable::Update() is the place to load all the DB rows to the
Mib tree, and thus reducing the DB access to the minimum.
If I use the MibTable::find_succ() function than I'll access the DB for each
VB in the GetNext request and in a big DB I don't think the performance
would be good.
In addition, the DB can be changed not only through SNMP, so I can't be sure
that all previous rows in the Mib tree still exists in the DB (which meant I
had to remove all the rows from the table in each GetNext request).
Again any help would be highly appreciated,
TIA,
	Ron


> -----Original Message-----
> From: Alex Finogenov [mailto:afinogenov____malibunet.com]
> Sent: Monday, August 20, 2001 6:40 PM
> To: 'Ron Sperber - Israel'; 'agentpp-dl____agentpp.com'
> Subject: RE: Mib table and DB table
> 
> 
> Ron,
> 
> Multi-threaded agent would add a bit of complexity. At this 
> point I am not
> worrying about this because I am not sure how much benefit 
> would the MT
> solution bring. If I had to move to an MT solution, I would have to
> implement my own context switching of the table's state since 
> tables in
> Agent++ are singletons.
> 
> Initially I tried to work with recommended MibComplexEntry, 
> but I came to
> conclusion that I have to add much more code than if I simply 
> Decorate the
> MibTable.
> 
> Regarding GetBulk - if you implement GetNext, you get GetBulk 
> for free. You
> can implement GetNext in a number of ways, but extending
> MibTable::find_succ() seems to be the simplest. The idea is 
> that the agent++
> calls find_succ() every time it needs to get the next object. 
> My version of
> find_succ() loads the next object into its respective row (if 
> the object
> exists), then calls MibTable::find_succ() to finish the job. You can
> implement a number of optimizations here, depending on your system's
> requirements and how stateful it is (caching of the accessed 
> objects, etc.)
> Don't forget to try to load the first object in a table if 
> the "next" object
> is not found, or you won't get the required behavior.
> 
> Alex
> 
>
> 



More information about the AGENTPP mailing list