anchor.diff:      end.
   
   % @private
  --spec send_to_server(Request :: #radius_request{}, Route :: route()) ->
  +-spec send_to_server(Request :: #radius_request{}, Route :: undefined_route() | route()) ->
       {reply, Reply :: #radius_request{}} | term().
  +send_to_server(_Request, {undefined, 0, []}) ->
  +    {error, no_route};
   send_to_server(#radius_request{reqid = ReqID} = Request, {Server, Port, Secret}) ->
       case eradius_client:send_request({Server, Port, Secret}, Request, [{retries, 1}]) of
           {ok, Result, Auth} -> decode_request(Result, ReqID, Secret, Auth);
  
positive.code: 
  -type route() :: eradius_client:nas_address().
  -type routes() :: [{Name :: string(), route()}].
  
  radius_request(Request, _NasProp, Args) ->
      DefaultRoute = proplists:get_value(default_route, Args),
  
negative.code:         {Key, NewUsername} ->
              case find_suitable_relay(Key, Routes) of
                  {Key, {_IP, _Port, _Secret} = Route} -> {NewUsername, Route};
                  _ -> {NewUsername, DefaultRoute}
              end
      end.
  