anchor.diff:  				when Pid =:= self() ->
   			Child = #child{output=nofin} = get_child(StreamID, State),
   			data(State, StreamID, true, <<>>),
  -			loop(out_fin_child(Child, State));
  +			loop(replace_child(Child#child{output=fin}, State));
   		{sendfile, {Pid, StreamID}, Filepath}
   				when Pid =:= self() ->
   			Child = #child{output=nofin} = get_child(StreamID, State),
   			data_from_file(State, StreamID, Filepath),
  -			loop(out_fin_child(Child, State));
  +			loop(replace_child(Child#child{output=fin}, State));
   		{'EXIT', Parent, Reason} ->
   			exit(Reason);
   		{'EXIT', Pid, _} ->
  
positive.code: 	Transport:send(Socket, cow_spdy:ping(PingID)),
  	loop(State);
  %% Data received for a stream.
  handle_frame(State=#state{children=Children},
  		{data, StreamID, IsFin, Data}) ->
  	Child = #child{input=nofin, in_buffer=Buffer, is_recv=IsRecv}
  		= get_child(StreamID, State),
  	Data2 = << Buffer/binary, Data/binary >>,
  
negative.code: 		children=[#child{streamid=StreamID,
  		pid=Pid, input=IsFin2}|Children]}.
  
  get_child(StreamID, #state{children=Children}) ->
  	lists:keyfind(StreamID, #child.streamid, Children).
  
  replace_child(Child=#child{streamid=StreamID},
  		State=#state{children=Children}) ->
  	Children2 = lists:keyreplace(StreamID, #child.streamid, Children, Child),
  	State#state{children=Children2}.
  
  delete_child(Pid, State=#state{children=Children}) ->
  	Children2 = lists:keydelete(Pid, #child.pid, Children),
  	State#state{children=Children2}.
  
  %% Request process.
  