anchor.diff:  handle_frame(State, Frame) ->
   	error_logger:error_msg("Ignored frame ~p", [Frame]),
   	loop(State).
  +
  +cancel_recv_timeout(StreamID, TRef) ->
  +	_ = erlang:cancel_timer(TRef),
  +	receive
  +		{recv_timeout, {Pid, StreamID}}
  +				when Pid =:= self() ->
  +			ok
  +	after 0 ->
  +		ok
  +	end.
   
   %% @todo We must wait for the children to finish here,
   %% but only up to N milliseconds. Then we shutdown.
  
positive.code: 	input = nofin :: fin | nofin,
  	in_buffer = <<>> :: binary(),
  	is_recv = false :: {true, {non_neg_integer(), pid()},
  		pid(), non_neg_integer()} | false,
  	output = nofin :: fin | nofin
  }).
  
  
negative.code: 			terminate(State);
  		{Error, Socket, _Reason} ->
  			terminate(State);
  		{recv, FromSocket = {Pid, StreamID}, FromPid, Length, Timeout}
  				when Pid =:= self() ->
  			Child = #child{in_buffer=InBuffer, is_recv=false}
  				= get_child(StreamID, State),
  