> Longer term, it seems we could really use another fi_cq_readfrom() specific to
> connected endpoints.  Rather than return an fi_addr_t, it should return a 
> fid_ep
> pointer.  It would be great to extend fi_cq_readfrom() with an extra 
> parameter, but
> that would break existing code so perhaps creating a new call would be best.  
> Something
> like:
> 
> ssize_t fi_cq_readfromconn(struct fid_cq *cq, void *buf, size_t count,
>     struct fid_eq **src_ep);
> The local context could be retrieved from the context of the src_ep’s.

The problem is that CQs are not limited to a specific EP type.  
Fi_cq_readfrom() uses

        fi_addr_t *src_addr

as the output parameter.  Fi_addr_t is uint64_t.  There might be a way to make 
it work without breaking apps by returning a different pointer value if the 
completion is associated with a connected EP.

> Did you want me to create an issue on this to track it?

Yes, please.
_______________________________________________
ofiwg mailing list
[email protected]
https://lists.openfabrics.org/mailman/listinfo/ofiwg

Reply via email to