[ofa-general] complib and cl_nodenamemap
Sean Hefty
sean.hefty at intel.com
Tue Mar 3 11:13:46 PST 2009
Sasha,
I'd like to see about doing 'something' with nodenamemap. Currently, it's part
of complib, but the interfaces and operation are not similar to other complib
type abstractions.
>From what I can tell, nodenamemap performs two abstractions. At a lower level,
it implements functionality similar to cl_map. The main difference is that
cl_map requires the user to allocate space for the object being inserted into
the map. If we add a new call to complib, we can provide an abstraction of the
functionality that nodenamemap requires:
cl_map_insert_copy(cl_map_t *p_map, uint64_t key,
void *p_object, size_t object_size);
There would be internal changes needed to free the object, plus changes to
cl_map_remove return values for copied objects.
At a higher level, nodenamemap parses an application specific file and stores
the contents of the file into a map. I'm not sure that this functionality
really belongs as a part of complib. But regardless, it makes more sense to me
to separate the parsing of the file from maintaining the data in a map.
There's not a need to abstract opening or closing the file. So the only
functionality that's needed is parsing a line of input from the file. Each
application could link in the necessary code directly, the parsing code could go
into a new 'ibcommon' library (not really worth it for 1 call), or the file
format just needs to be generic enough to work with a wide variety of
applications (and maybe it already is).
Is it acceptable to change or remove the nodenamemap abstraction from complib,
and if so, is there a specific direction to take?
- Sean
More information about the general
mailing list