On Wed, 27 Apr 2005 09:57:14 +0100 Dave wrote:
DS> > DS> In terms of public API, the main difference between table_data
DS> > DS> and table_container is in terms of how the indexing is handled.
DS> >
DS> > Actually, the real difference is that table_container doesn't have
DS> > an API at all.
DS>
DS> Eh?
DS> What does
DS> http://www.net-snmp.org/dev/agent/group__table__container.html
DS> describe then?
That describes the handler. Note that there is a single function described - to
get the handler. One function does not an API make.
DS> And there's been a 'mib2c.container.conf' generator since 5.2.
Yes, and array_user and MFD both use the table_container helper as well. That
still doesn't make any of them an API. All of them could be updated to use a
table_helper API, if one existed.
DS> > So I'm suggesting that the table_data2 API become the table_container
DS> > API. There is no backwards compatibility implications.
DS>
DS> I disagree.
DS> The behaviour, API calls and data structures of table_container
DS> are fairly well established by now.
Again, there are NO table_container API calls. The only data structure
requirement for the table_container is that the pointers put into the container
have a netsnmp_index as the first item. The table_data2 API fulfils this
requirement.
DS> My view for table_data2 (under whatever name) is that it should retain
DS> the same APIs as table_data, but rely on table_container internally.
Well, it's impossible to have the same API - the function names have to differ.
All I'm proposing is that the names be prefixed with table_container_ instead
of table_data2_ (or whatever name). The parameters and other such stuff would
remain the same.
DS> With table_data, I can use a native data structure to hold a row
DS> of the table. So that should remain true with table_data2.
DS> With table_container, the per-row data structure *must* begin
DS> with the index information (in some specified format). So
DS> there *are* compatibility implications.
If there were compatibility problems, then the code as it exists today would
not work. But it does. The table_data2 simply deals with the additional malloc
to create the structure that table_container helps, and stores the user's
native data structure. Renaming functions and putting them into another
file does not change how they work. (Last time I checked, anyhow.)
DS> Table_container is your baby [...].
DS> I prefer to keep 'table_data2' as a separate helper.
Ok. It's your baby, so I'll be quiet now so that we can both get back to work.
DS> That's my understanding anyway - Wes, care to correct any errors?
Like he's paying any attention. I'd be willing to be when he sees a thread
between us that starts to get long, he stays as far away as possible, so as not
to get any blood on his nice clean white shirt. :-)
--
NOTE: messages sent directly to me, instead of the lists, will be deleted
unless they are requests for paid consulting services.
Robert Story; NET-SNMP Junkie
Support: <http://www.net-snmp.org/> <irc://irc.freenode.net/#net-snmp>
Archive: <http://sourceforge.net/mailarchive/forum.php?forum=net-snmp-coders>
You are lost in a twisty maze of little standards, all different.
-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=105hix
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders