Session forgets it is in resend state
Created by: cbusbey
There are actually two related issues
-
When in resend state, any session event will trigger the Timeout method on the embedded inSession state. The return value of Timeout will the next Session's state. In most cases, this return value is InSession. As a result, timeout events will currently cause the session to forget it is in resend, and revert to inSession.
-
Similar behavior can be observed when switching to pendingTimeout from inSession. If a message is received that causes the session to leave this state, it will always revert to inSession- even if the previous state was resend.