anchor.diff:  handle_cast(stop, State) ->
       {stop, normal, State}.
   
  -%%--------------------------------------------------------------------
  -%% @private
  -%% @doc
  -%% Handling all non call/cast messages
  -%%
  -%% @spec handle_info(Info, State) -> {noreply, State} |
  -%%                                   {noreply, State, Timeout} |
  -%%                                   {stop, Reason, State}
  -%% @end
  -%%--------------------------------------------------------------------
   handle_info({tcp, Socket, RawData}, State) ->
       handle_data(Socket, RawData),
       {noreply, State};
  
positive.code: %%% API
  %%%===================================================================
  
  %%--------------------------------------------------------------------
  %% @doc Starts the server.
  %%
  %% @spec start_link(Port::integer()) -> {ok, Pid}
  %% where
  %%  Pid = pid()
  %% @end
  %%--------------------------------------------------------------------
  start_link(LSock) ->
      gen_server:start_link(?MODULE, [LSock], []).
  
  %%--------------------------------------------------------------------
  %% @doc Stops the server.
  %% @spec stop() -> ok
  %% @end
  %%--------------------------------------------------------------------
  stop() ->
      gen_server:cast(?SERVER, stop).
  
  
negative.code:     case Body#ucp_cmd_60.styp of
          "1" -> % Open session
              % Pass everyone
              % TODO: implement authorization
              {reply, {Header#ucp_header{o_r = "R"}, #short_ack{}}};
          Type -> {error, operation_subtype_not_supported, Type}
      end;
  
  % Reply to other messages with ACK
  process_message({Header = #ucp_header{o_r = "O"} , _Body}) ->
      % slow down reply
      timer:sleep(1000),
      {reply, {Header#ucp_header{o_r = "R"}, #short_ack{}}};
  
  process_message({#ucp_header{o_r = "R"} , _Body}) ->
  