Pass (2011-09-22T18:47:23Z - 1042 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
742d4b65793a20616935644e426658304f73732b674e7761384a6766673d3d0d0a5365632d576562536f636b65742d566572
73696f6e3a2031330d0a0d0a
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a20496f43
52412f765376496b536d5a377738657744645553654d4b6f3d0d0a0d0a
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, MASK=5027d88c, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment1
003 TX OCTETS: 01895027d88c3655b9eb3d42b6f861
004 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=24af3087, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment2
005 TX OCTETS: 008924af308742dd51e049ca5ef316
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=330e8071, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
pongme 1!
007 TX OCTETS: 8989330e80714361ee165e6ba04012
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=b329acb1, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment3
012 TX OCTETS: 0089b329acb1d55bcdd6de4cc2c580
013 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=75f1e73e, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment4
014 TX OCTETS: 008975f1e73e138386591894894a41
015 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=b40693c1, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
pongme 2!
016 TX OCTETS: 8989b40693c1c469fda6d963b3f395
017 TX FRAME : OPCODE=0, FIN=True, RSV=0, MASK=fcbd7a1b, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
fragment5
018 TX OCTETS: 8089fcbd7a1b9acf1b7c91d8146fc9
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=36d48875, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
è
025 TX OCTETS: 888236d48875353c
026 RX OCTETS: 880203e8
027 RX FRAME : OPCODE=8, FIN=True, RSV=0, MASKED=False, MASK=None
è
028 TCP CLOSED BY PEER