You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
The text was updated successfully, but these errors were encountered:
It would be very useful for NA to allow sending to self (both expected and unexpected messages), at least with the
na+sm
and theofi
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 callingNA_Msg_send_unexpected
. This queue should be checked frequently for pending messages (which means constantly checking within aNA_Progress
/NA_Trigger
loop). When a message is found in this queue, we must also know thatNA_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 postedNA_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).The text was updated successfully, but these errors were encountered: