anchor.diff:      Payload2 = hybi_unmask(Payload, MaskKey, <<>>),
       parse_hybi_frames(S, Rest, [{Opcode, Payload2} | Acc]);
   
  -parse_hybi_frames(S, <<_Fin:1, 
  -               _Rsv:3, 
  -               Opcode:4, 
  -               _Mask:1, 
  -               126:7, 
  +parse_hybi_frames(S, <<_Fin:1,
  +               _Rsv:3,
  +               Opcode:4,
  +               _Mask:1,
  +               126:7,
                  PayloadLen:16,
                  MaskKey:4/binary,
                  Payload:PayloadLen/binary-unit:8,
  
positive.code:     Payload2 = hybi_unmask(Payload, MaskKey, <<>>),
      parse_hybi_frames(S, Rest, [{Opcode, Payload2} | Acc]);
  
  parse_hybi_frames(Socket, <<_Fin:1, 
                 _Rsv:3, 
                 _Opcode:4, 
                 _Mask:1, 
                 126:7, 
                 _PayloadLen:16,
                 _MaskKey:4/binary,
                 _/binary-unit:8>> = PartFrame,
               Acc) ->
      
      ok = mochiweb_socket:setopts(Socket, [{packet, 0}, {active, once}]),
      receive
          {tcp_closed, _} ->
  
negative.code: 
          {tcp, _, Continuation} ->
            parse_hybi_frames(Socket, <<PartFrame/binary, Continuation/binary>>, Acc);
  
          _ ->
              mochiweb_socket:close(Socket),
              exit(normal)
      after
        5000 ->
          mochiweb_socket:close(Socket),
          exit(normal)
      end;
  
  parse_hybi_frames(S, <<_Fin:1,
                 _Rsv:3,
                 Opcode:4,
                 _Mask:1,
                 127:7,
                 0:1,
                 PayloadLen:63,
                 MaskKey:4/binary,
                 Payload:PayloadLen/binary-unit:8,
                 Rest/binary>>,
  