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

Reply via email to