anchor.diff:  %% business receiver
   %% ===================================================================
   
  -handle_info({m, Data}, #state{socket = Socket} = State) ->
  -    gen_tcp:send(Socket, Data),
  +handle_info({m, Attrs} = Msg, #state{socket = Socket} = State) ->
  +    send_msg_to_client(Msg),
       {noreply, State, State#state.heartbeat_timeout};
  -handle_info({gm, Data}, #state{socket = Socket} = State) ->
  -    gen_tcp:send(Socket, Data),
  +handle_info({gm, Attrs}, #state{socket = Socket} = State) ->
  +    send_msg_to_client(Msg),
       {noreply, State, State#state.heartbeat_timeout};
   handle_info(Info, State) ->
       log:i("Unknown Info: ~p.~n", [Info]),
  
positive.code: 
  setopts(Swocket) ->
      inet:setopts(Swocket, [{active, 300}, {packet, 0}, binary]).
  
  % [{<<"device">>,<<"android">>},{<<"id">>,<<"1">>}]
  parse_user_info(UserInfo) ->
  
negative.code: 
  handle_info({tcp, Socket, Data}, #state{socket = Socket} = State) ->
      {ok, Toml} = etoml:parse(Data),
      {ok, NewState} = process_packet(Toml, State),
      {noreply, NewState, NewState#state.heartbeat_timeout};
  % tcp connection change to passive
  handle_info({tcp_passive, Swocket}, #state{socket = Swocket} = State) ->
  