-
Notifications
You must be signed in to change notification settings - Fork 11
Protocol Flow Chart
Shahbaz Chaudhary edited this page Sep 11, 2015
·
5 revisions
[is loggedin]->no[has tag 35]
[has tag 35]->false[ERROR:tag 35 missing]
[has tag 35]->true[is logon]
[is logon]->false[ERROR:first msg must be logon]
[is logon]->true[handle heartbeat]
[handle heartbeat]->always[should respond to logon]
[should respond to logon]->true[send logon response]
[send logon response]->always[handle logon ok]
[should respond to logon]->false[handle logon ok]
[handle logon ok]->always[handle persistence]
[is loggedin]->yes[handle persistence]
[handle persistence]->always[has req fields]
[has req fields]->false[ERROR: missing required field]
[has req fields]->true[handle seq-reset-gap-fill]
[handle seq-reset-gap-fill]->always[check seqnums]
[check seqnums]->expected[process msg]
[check seqnums]->too low[ERROR:seq num too low]
[check seqnums]->too high[request resend]
[check seqnums]--[<note>what if posdup?]
[process msg]->seq-reset[handle seq-reset-no-gap-fill]
[process msg]->test-request[handle test-request]
[process msg]->resend-request[handle resend-request]
[process msg]->logout[handle logout]