Hi Phil,
I can add a server flag to the tcp addr struct, and only call
forget_addr in that case, but it seems like a bit of hack. Can we just
toss the ref list in the bmi control layer and force methods to manage
their addresses? The ref list is only being used to map an opaque
address pointer to a particular method. Could we just make the address
pointer not opaque and encode the method in there somehow?
Sure- in that case neither callback is needed. I was just commenting on
the current patch in case it ended up hanging around for a bit.
I don't see any reason for keeping the ref list around. There is
already essentially an integer identifier for each method- you could use
the index into the "static_methods" table since it never changes at run
time. You would just need a way to incorporate it into the BMI_addr_t.
The id_gen_safe* functions are already handing out identifiers linearly
for BMI_addr_t types. You could just cap that value at some huge number
as a safety check and add a safe register function with an extra
argument to let it throw an identifier into the spare bits.
It seems like the painful part would be updating the code to consolidate
the method addr and reference structure into a single unit, although
there may not be that much useful in the reference structure to carry over.
-Phil
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers