anchor.diff:        end
      catch _:Reason ->
         ?NOTICE("knet [http]: ingress failure ~p ~p", [Reason, erlang:get_stacktrace()]),
  -      pipe:b(Pipe, {http, self(), eof}),
  -      {stop, normal, State0}
  +      % pipe:b(Pipe, {http, self(), eof}),
  +      % {stop, normal, State0}
  +      {next_state, 'IDLE', stream_reset(Pipe, State0)}
      end;
   
   %%
  
positive.code:       lens:fmap(fun(X) -> deq:poke(X, deq:tail(Queue)) end, Fun(deq:head(Queue)))      
     end.
  
  %%%------------------------------------------------------------------
  %%%
  %%% http socket
  %%%
  %%%------------------------------------------------------------------
  
  
  -spec http_socket(_) -> #socket{}.
  
  http_socket(SOpt) ->
     #socket{
        in = htstream:new(),
        eg = htstream:new(),
        so = SOpt
     }.
  
  
  -spec http_send(#socket{}, _) -> {[binary()], #socket{}}.
  
  http_send(#socket{eg = Stream0} = Socket, Data) ->
     {Pckt, Stream1} = htstream:encode(Data, Stream0),
     {Pckt, Socket#socket{eg = Stream1}}.
  
  
negative.code: init(Opts) ->
     {ok, 'IDLE', 
        #fsm{
           socket  = gen_http_socket(Opts)
  
          % ,recv    = htstream:new()
          % ,send    = htstream:new()
          ,queue   = q:new()
  
          ,trace   = opts:val(trace, undefined, Opts)
  