Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NA: Support for sending to self #391

Open
mdorier opened this issue Sep 2, 2020 · 0 comments
Open

NA: Support for sending to self #391

mdorier opened this issue Sep 2, 2020 · 0 comments

Comments

@mdorier
Copy link

mdorier commented Sep 2, 2020

It would be very useful for NA to allow sending to self (both expected and unexpected messages), at least with the na+sm and the ofi providers.

I'm posting this feature request since it proves a lot more difficult than I had expected to implement it outside of NA: if a process must receive an unexpected message, it must call NA_Msg_recv_unexpected. To implement sending to / receiving from self on top of NA, the sender must place its message to self into a local queue instead of calling NA_Msg_send_unexpected. This queue should be checked frequently for pending messages (which means constantly checking within a NA_Progress/NA_Trigger loop). When a message is found in this queue, we must also know that NA_Msg_recv_unexpected was called, get the callback it has been called with (which means storing that callback somewhere) and call it ourselves on the local message. The initially posted NA_Msg_recv_unexpected should also be removed from NA since we don't expect it to get triggered anymore (or if it is triggered, it will be by an incoming message that wasn't intended for it).

@soumagne soumagne added this to the future milestone Sep 3, 2020
@soumagne soumagne changed the title Support for sending to self at NA level NA: Support for sending to self Sep 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants