anchor.diff:      basic_messages(FrameInfos, State, State#state.timeout).
   
   basic_messages([], State, Tout) ->
  -    {ok, State#state{unused_stream = <<>>}, Tout};
  -basic_messages([{frame_incomplete, Unused}], State, Tout) ->
  -    %% Unused is a part of a potentially large (some kb) binary,
  -    %% so we copy it to detach it for gc purposes
  -    {ok, State#state{unused_stream = binary:copy(Unused, 1)}, Tout};
  +    {ok, State, Tout};
   basic_messages([FrameInfo|Rest],
                  #state{cbinfo=CbInfo, cbstate={FrameState,CbState}}=State,
                  Tout) ->
  
positive.code:             end
      end.
  
  last_ws_state([#ws_frame_info{ws_state=State}|Rest], _LastState) ->
      last_ws_state(Rest, State);
  last_ws_state([], LastState) ->
      LastState;
  last_ws_state([{frame_incomplete, _}], LastState) ->
      LastState.
  
  handle_callback(Type, [#state{cbinfo=CbInfo}=State | Args]) ->
      Cb = case Type of
  
negative.code:     advanced_messages(FrameInfos, State, State#state.timeout).
  
  advanced_messages([], State, Tout) ->
      {ok, State, Tout};
  advanced_messages([FrameInfo|Rest], #state{close_timer=TRef}=State,
                    Tout) when TRef /= undefined ->
      case FrameInfo of
  