-
Notifications
You must be signed in to change notification settings - Fork 37
/
Copy pathoutline.txt
23 lines (23 loc) · 967 Bytes
/
outline.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Step 1: Frame decoder
Step 2: Validate message by confirming checksum
Step 3: Convert to key/val map
Step 4: Confirm all required fields are available
Step 4.1: If logged in, send back msg reject
Step 4.2 If not logged in, disconnect with error
Step 5: Confirm first message is a logon with heartbeat
Step 5.1: If not, disconnect with error
Step 5.2: If so, confirm not already logged in
Step 5.3: Logged in
Step 5.4 Load crash-recovery msgs
Step 6: Confirm incoming sequence number
Step 6.1: If sequence reset with gap-fill
Step 6.1.1: If new seqnum <= current seqnum: reject
Step 6.1.2: reset seqnum
Step 6.2: If seqnum too low, disconnect with error
Step 7: Confirm compids and fix versions
Step 8: Record incoming msgs
Step 9: Handle session messages
Heartbeat:
ResendRequest: Send back requested range
Logout:
Step 10: Forward to application