in lib/src/copy/web_socket_impl.dart [287:311]
void _startPayload() {
// If there is no actual payload perform perform callbacks without
// going through the PAYLOAD state.
if (_remainingPayloadBytes == 0) {
if (_isControlFrame()) {
switch (_opcode) {
case _WebSocketOpcode.CLOSE:
_state = CLOSED;
_eventSink!.close();
break;
case _WebSocketOpcode.PING:
_eventSink!.add(_WebSocketPing());
break;
case _WebSocketOpcode.PONG:
_eventSink!.add(_WebSocketPong());
break;
}
_prepareForNextFrame();
} else {
_messageFrameEnd();
}
} else {
_state = PAYLOAD;
}
}