Pass (2011-09-22T18:47:07Z - 1003 ms)
Description
A fragmented text message is sent in multiple frames. After
sending the first 2 frames of the text message, a Ping is sent. Then we wait 1s,
then we send 2 more text fragments, another Ping and then the final text fragment.
Everything is legal.
Expectation
The peer immediately answers the first Ping before
it has received the last text message fragment. The peer pong's back the Ping's
payload exactly, and echo's the payload of the fragmented message back to us.
Actual events match at least one expected.
Expected = {'OK': [('pong', 'pongme 1!'), ('pong', 'pongme 2!'), ('message', 'fragment1fragment2fragment3fragment4fragment5', False)]}
Actual = [('pong', 'pongme 1!'), ('pong', 'pongme 2!'), ('message', 'fragment1fragment2fragment3fragment4fragment5', False)]
OK: Connection was properly closed
Chop Size | Count | Octets |
4 | 1 | 4 |
11 | 1 | 11 |
58 | 1 | 58 |
129 | 1 | 129 |
Total | 4 | 202 |
Chop Size | Count | Octets |
8 | 1 | 8 |
15 | 7 | 105 |
195 | 1 | 195 |
Total | 9 | 308 |
Opcode | Count |
1 | 1 |
8 | 1 |
10 | 2 |
Total | 4 |
Opcode | Count |
0 | 4 |
1 | 1 |
8 | 1 |
9 | 2 |
Total | 8 |
Key | Value |
isServer | 0 |
closedByMe | 1 |
failedByMe | 0 |
droppedByMe | 0 |
wasClean | 1 |
localCloseCode | 1000 |
remoteCloseCode | 1000 |
remoteCloseReason | None |
000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e576562536f636b65747354657374
53756974652f302e342e320d0a486f73743a206c6f63616c686f73740d0a557067726164653a20776562736f636b65740d0a
436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4b65793a20662b6f3251394a467a50
727a375475674e4661316d413d3d0d0a5365632d576562536f636b65742d56657273696f6e3a2031330d0a0d0a
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a20462b68
5733634d7932594e4e473432706930542b2b3677713368383d0d0a0d0a
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, MASK=2a206e8a, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment1
003 TX OCTETS: 01892a206e8a4c520fed474500fe1b
004 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=0998ce5b, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment2
005 TX OCTETS: 00890998ce5b6feaaf3c64fda02f3b
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=014c81b6, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
pongme 1!
007 TX OCTETS: 8989014c81b67123efd16c29a18720
008 DELAY 1.000000 sec
009 RX OCTETS: 8a09706f6e676d65203121
010 RX FRAME : OPCODE=10, FIN=True, RSV=0, MASKED=False, MASK=None
pongme 1!
011 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=022fae71, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment3
012 TX OCTETS: 0089022fae71645dcf166f4ac00531
013 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=70d69eee, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment4
014 TX OCTETS: 008970d69eee16a4ff891db3f09a44
015 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=858db46b, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
pongme 2!
016 TX OCTETS: 8989858db46bf5e2da0ce8e89459a4
017 TX FRAME : OPCODE=0, FIN=True, RSV=0, MASK=fb9ae3e9, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment5
018 TX OCTETS: 8089fb9ae3e99de8828e96ff8d9dce
019 TIME OUT 1.000000 sec
020 RX OCTETS: 8a09706f6e676d65203221812d667261676d656e7431667261676d656e7432667261676d656e7433667261676d656e743466
7261676d656e7435
021 RX FRAME : OPCODE=10, FIN=True, RSV=0, MASKED=False, MASK=None
pongme 2!
022 RX FRAME : OPCODE=1, FIN=True, RSV=0, MASKED=False, MASK=None
fragment1fragment2fragment3fragment4fragment5
023 TX FRAME : OPCODE=8, FIN=True, RSV=0, MASK=81037af2, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
è
024 TX OCTETS: 888281037af282eb
025 RX OCTETS: 880203e8
026 RX FRAME : OPCODE=8, FIN=True, RSV=0, MASKED=False, MASK=None
è
027 TCP CLOSED BY PEER