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
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to