anchor.diff:  %% gen_fsm callback
   %%
   init(Socket) ->
  -    State = #state{ socket = Socket },
  -    ?log([started]),
  +    {ok, {Address, Port}} = inet:peername(Socket),
  +    IP_Address = inet_parse:ntoa(Address),
  +    Session = util:binary_to_hex(uuid:random()),
  +    State = #state{
  +        socket = Socket,
  +        ip_address = IP_Address,
  +        port = Port,
  +        session = Session
  +    },
  +    ?log([
  +            {ip, IP_Address},
  +            {port, Port},
  +            {session, Session},
  +            started
  +        ]),
       {ok, wait_for_activate, State}.
   
   %% @spec handle_event(Event, StateName, State) -> Result
  
positive.code: 
  -record(frame, {command = [], headers = [], body = []}).
  -define(frame, Frame#frame).
  -record(state, {timeout = 5000, socket, frames_in = 0, frames_out = 0, session, frame = #frame{}, buffer = []}).
  -define(state, State#state).
  
  -include("simplemq.hrl").
  
negative.code:     {next_state, StateName, State};
  
  handle_event(#frame{ command = "SEND", headers = Headers } = Frame, StateName, State) ->
      {next_state, StateName, State#state{ frames_in = ?state.frames_in + 1 }};
  
  handle_event(Event, StateName, State) ->
      ?log([{state_name, StateName}, {handle_event, Event}]),
  