Client Recovery (cont’d)
So, if the client knows the request id R, it can determine state C and maybe state B.
What if no queued message has the id R? Could be in state A, B, or D.
Can further clarify matters if
- client is “single-threaded” (? one request in flight), and
- queue server persistently remembers client’s last operation, which is returned when client connects to a queue … amounts to a persistent session