the inner process communication flow would be better unified with the remote communication #6
Replies: 1 comment
-
Actually i never liked that RMB need to process timesout itself. this is unnecessary complexity IMHO. Let me explain The client should never wait for a response more than Hence RMB should not care if a response never came. as long as the message was delivered (/rmb-remote) call was successful it should not do anything until a response is received. And then forward that to the original caller that also might have already gave up waiting. This is why we going to drop the HMAP and use This means RMB should return only errors if it failed to process the message (for example failed to forward message to a remote rmb) and such. |
Beta Was this translation helpful? Give feedback.
-
I think the current flow we have (in GO and V version) is better, as we do store the message in the backlog queue and a local receiver should handle the reply the same way as a remote receiver, by replying to
msgbus.system.reply
first then RMB would forward this to the $ret.so in case, the receiver process doesn't respond to the message, RMB can find out this when the message expired on $backlog and then craft a timeout error response to the sender, instead of leaving him wait on the $ret.
also, fewer paths are better IMHO, especially if there isn't much gain from this divergence.
Beta Was this translation helpful? Give feedback.
All reactions