anchor.diff:  'ESTABLISHED'({packet, Msg}, Pipe, State) ->
      case ws_send(Msg, Pipe, State#fsm.stream) of
         {eof, Stream} ->
  +         pipe:ack(Pipe, ok),
            {stop, normal, State#fsm{stream=Stream}};
         {_,   Stream} ->
  +         pipe:ack(Pipe, ok),
            {next_state, 'ESTABLISHED', State#fsm{stream=Stream}}
      end;
   
  
positive.code: 'ESTABLISHED'({Prot, _, passive}, Pipe, State)
   when ?is_transport(Prot) ->
     pipe:b(Pipe, {ws, self(), passive}),
     {next_state, 'STREAM', State};
  
  'ESTABLISHED'({Prot, _, eof}, Pipe, State)
   when ?is_transport(Prot) ->
  
negative.code: 'CLIENT'(Msg, Pipe, #fsm{stream = Stream} = State) ->
     try
        {Pckt, Send} = htstream:encode(Msg, Stream#iostream.send),
        pipe:b(Pipe, {packet, Pckt}),
        {next_state, 'CLIENT', State#fsm{stream = Stream#iostream{send = Send}}}
     catch _:Reason ->
        % ?NOTICE("knet [ws]: failure ~p ~p", [Reason, erlang:get_stacktrace()]),
  