On Thu, 2 Jun 2005, Tom Duffy wrote:
On Thu, 2005-06-02 at 11:16 -0400, James Lentini wrote:
- in dat.h, create a public structure for each object type:
struct dat_ep {
struct dat_provider *provider;
};
- in the transport provider (dapl.h) have a private structure that
contains the public one:
struct dapl_ep {
struct dat_ep dat_ep;
...
};
Is that the sort of thing you were thinking of?
Yes, exactly. Then you can create small inline functions that would
cast back and forth.
The other "issue" right now is that dapl has a header struct that needs
to come first in all the structs. So, that would need to be changed.
I think that issue will go away if we implement the above proposal.
The dapl objects all place the dapl_header structure first so that the
struct dat_provider pointer will be the first item in memory. This
allows the dat_* functions to cast the user's handle to a struct
dat_provider pointer and then call the appropriate provider function.
I'll do some research here and find out why the original mechanism was
chosen.
Cool.
-tduffy
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general