anchor.diff:  % cowboy 1.x
   -export([init/3]).
   -export([websocket_init/3]).
  +-export([websocket_handle/3]).
  +-export([websocket_info/3]).
   
   %cowboy 2.x
   -export([init/2]).
  +-export([websocket_init/1]).
  +-export([websocket_handle/2]).
  +-export([websocket_info/2]).
   
   % both cowboy versions
  --export([websocket_handle/3]).
  --export([websocket_info/3]).
   -export([terminate/3]).
   
   -define(TIMEOUT,60000).
  
positive.code: websocket_info(_Data, Req, State) ->
    {ok,Req,State}.
  
  terminate(_Reason, _Req, _State) ->
    ok.
  
  
  handle_messages([],ToSend,Routing,_State) ->
    {ok,lists:reverse(ToSend),Routing};
  
negative.code:       % unsupported
        {shutdown,Req1}
    end.
  
  websocket_handle({WsEnc, Data}, Req, #state{ws_enc=WsEnc,enc=Enc,buffer=Buffer,routing=Routing}=State) ->
    {MList,NewBuffer} = wamper_protocol:deserialize(<<Buffer/binary, Data/binary>>,Enc),
  