anchor.diff:  
       encoder.process(buffer, 0, buffer.length);
   
  -    while ((out = encoder.processed(flush: reuse)) != null) {
  +    while ((out = encoder.processed()) != null) {
         result.addAll(out);
  -    }
  -
  -    if (serverSide ? serverNoContextTakeover : clientNoContextTakeover) {
  -      encoder.end();
  -      encoder = null;
       }
   
       if (result.length > 4) {
  
positive.code:             throw new WebSocketException("Protocol error");
            }
  
            if ((byte & RSV1) != 0) {
              _compressed = true;
            } else {
              _compressed = false;
            }
            _opcode = (byte & OPCODE);
  
            if (_opcode <= _WebSocketOpcode.BINARY) {
              if (_opcode == _WebSocketOpcode.CONTINUATION) {
  
negative.code:     data.addAll(const [0x00, 0x00, 0xff, 0xff]);
  
      decoder.process(data, 0, data.length);
      var result = [];
      var out;
  
      while ((out = decoder.processed()) != null) {
        result.addAll(out);
      }
  
      return new Uint8List.fromList(result);
    }
  
    List<int> processOutgoingMessage(List<int> msg) {
      _ensureEncoder();
      var result = [];
      Uint8List buffer;
      var out;
  