Hung calls if packets are dropped
Brought to you by:
robeden
If an invoke packet is silently dropped by a remote host (for example, if a firewall with a drop rule is active), then invocation calls can hang forever (until interrupted). The problem is there is no ack message when an invoke is received, so the caller doesn't know the difference between the caller not receiving the message and a long invocation time.
The solution is to introduce an ack message that is sent when an invoke is received. The caller can then wait for that message (or an InvokeReturn) and error out if the ack is not received.
Anonymous