Pass (2011-09-22T21:49:20Z - 1041 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 | 2 | 22 |
47 | 1 | 47 |
129 | 1 | 129 |
Total | 5 | 202 |
Chop Size | Count | Octets |
8 | 1 | 8 |
15 | 7 | 105 |
212 | 1 | 212 |
Total | 9 | 325 |
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
53756974652f302e342e320d0a486f73743a2074686f722d776562736f636b65742e7a6170686f79642e6e65740d0a557067
726164653a20776562736f636b65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65
742d4b65793a202b576e32316261554e6e4a306c7373714c636b7147513d3d0d0a5365632d576562536f636b65742d566572
73696f6e3a2031330d0a0d0a
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a206e7435
47466d37587063514b776b793279477257786f44364745673d0d0a0d0a
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, MASK=3e7c9cc8, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment1
003 TX OCTETS: 01893e7c9cc8580efdaf5319f2bc0f
004 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=ba796380, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment2
005 TX OCTETS: 0089ba796380dc0b02e7d71c0df488
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=d7ec6a3d, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
pongme 1!
007 TX OCTETS: 8989d7ec6a3da783045aba894a0cf6
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=94333957, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment3
012 TX OCTETS: 008994333957f2415830f9565723a7
013 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=cd5aa860, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment4
014 TX OCTETS: 0089cd5aa860ab28c907a03fc614f9
015 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=712ab822, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
pongme 2!
016 TX OCTETS: 8989712ab8220145d6451c4f981050
017 TX FRAME : OPCODE=0, FIN=True, RSV=0, MASK=4386006c, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment5
018 TX OCTETS: 80894386006c25f4610b2ee36e1876
019 TIME OUT 1.000000 sec
020 RX OCTETS: 8a09706f6e676d65203221
021 RX FRAME : OPCODE=10, FIN=True, RSV=0, MASKED=False, MASK=None
pongme 2!
022 RX OCTETS: 812d667261676d656e7431667261676d656e7432667261676d656e7433667261676d656e7434667261676d656e7435
023 RX FRAME : OPCODE=1, FIN=True, RSV=0, MASKED=False, MASK=None
fragment1fragment2fragment3fragment4fragment5
024 TX FRAME : OPCODE=8, FIN=True, RSV=0, MASK=b53303a5, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
è
025 TX OCTETS: 8882b53303a5b6db
026 RX OCTETS: 880203e8
027 RX FRAME : OPCODE=8, FIN=True, RSV=0, MASKED=False, MASK=None
è
028 TCP CLOSED BY PEER