anchor.diff:              mochiweb_socket:close(Socket),
               exit(normal)
       after
  -      5000 ->
  -        mochiweb_socket:close(Socket),
  -        exit(normal)
  +        5000 ->
  +            mochiweb_socket:close(Socket),
  +            exit(normal)
       end;
   parse_hybi_frames(S, <<_Fin:1,
                         _Rsv:3,
  
positive.code:     Body(Payload, State, ReplyChannel).
  
  send(Socket, Payload, hybi) ->
      Len = payload_length(iolist_size(Payload)),
      Data = <<1:1, 0:3, 1:4, 0:1, Len/bits, Payload/binary>>,
      mochiweb_socket:send(Socket, Data);
  send(Socket, Payload, hixie) ->
      Data = <<0, Payload/binary, 255>>,
      mochiweb_socket:send(Socket, Data).
  
  upgrade_connection(Req, Body) ->
      case make_handshake(Req) of
          {Version, Response} ->
              Req:respond(Response),
  
              Socket = Req:get(socket),
              ReplyChannel = fun(Payload) ->
                  ?MODULE:send(Socket, Payload, Version)
              end,
              Reentry = fun (State) ->
                  ?MODULE:loop(Socket, Body, State, Version, ReplyChannel)
              end,
              {Reentry, ReplyChannel};
  
          _ ->
              mochiweb_socket:close(Req:get(socket)),
              exit(normal)
  
negative.code:                            _MaskKey:4/binary,
                             _/binary-unit:8>> = PartFrame,
                    Acc) ->
      ok = mochiweb_socket:setopts(Socket, [{packet, 0}, {active, once}]),
      receive
          {tcp_closed, _} ->
  