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