WebSocket++ snapshot - Test Case 5.20

Pass (2011-09-22T21:49:21Z - 1050 ms)

Case

Description

Same as Case 5.19, but send all frames with SYNC = True. Note, this does not change the octets sent in any way, only how the stream is chopped up on the wire.

Expectation

Same as Case 5.19. Implementations must be agnostic to how octet stream is chopped up on wire (must be TCP clean).

Result

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)]

Close Result

OK: Connection was properly closed

Statistics

Octets Received by Chop Size

Chop SizeCountOctets
414
11222
47147
1291129
Total5202

Octets Transmitted by Chop Size

Chop SizeCountOctets
818
157105
2121212
Total9325

Frames Received by Opcode

OpcodeCount
11
81
102
Total4

Frames Transmitted by Opcode

OpcodeCount
04
11
81
92
Total8

Close Stats

KeyValue
isServer0
closedByMe1
failedByMe0
droppedByMe0
wasClean1
localCloseCode1000
remoteCloseCode1000
remoteCloseReasonNone

Wire Log

000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e576562536f636b65747354657374
               53756974652f302e342e320d0a486f73743a2074686f722d776562736f636b65742e7a6170686f79642e6e65740d0a557067
               726164653a20776562736f636b65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65
               742d4b65793a20323773397854324a5653684f516d4c682f326e4c2b413d3d0d0a5365632d576562536f636b65742d566572
               73696f6e3a2031330d0a0d0a
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
               65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a20655561
               7078356a6866312f337141436752772f384679525a3967593d0d0a0d0a
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, MASK=ad641ca6, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               fragment1
003 TX OCTETS: 0189ad641ca6cb167dc1c00172d29c
004 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=eb776715, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               fragment2
005 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=e8335e9a, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               pongme 1!
006 DELAY 1.000000 sec
007 TX OCTETS: 0089eb7767158d05067286120961d9
008 TX OCTETS: 8989e8335e9a985c30fd85567eabc9
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=01ac084c, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               fragment3
012 TX OCTETS: 008901ac084c67de692b6cc9663832
013 TX FRAME : OPCODE=0, FIN=False, RSV=0, MASK=46872f86, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               fragment4
014 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=340be070, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               pongme 2!
015 TX FRAME : OPCODE=0, FIN=True, RSV=0, MASK=aff1dba5, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
               fragment5
016 TIME OUT 1.000000 sec
017 TX OCTETS: 008946872f8620f54ee12be241f272
018 TX OCTETS: 8989340be07044648e17596ec04215
019 TX OCTETS: 8089aff1dba5c983bac2c294b5d19a
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=3ae70476, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
025 TX OCTETS: 88823ae70476390f
026 RX OCTETS: 880203e8
027 RX FRAME : OPCODE=8, FIN=True, RSV=0, MASKED=False, MASK=None
028 TCP CLOSED BY PEER