anchor.diff:  	{ok, #state{}}.
   
   handle_call({request_credential,ServiceId,UserInfo,Token,Params}, From, #state{client = undefined} = State) ->
  -    ServiceInfo = tts_service:get_info(ServiceId),
       NewState = State#state{ action = request,
                               client = From,
  -                            service_info = ServiceInfo,
  +                            service_id = ServiceId,
                               user_info = UserInfo,
                               token = Token,
                               params = Params
                             }, 
  -    Timeout = maps:get(timeout,ServiceInfo,?TIMEOUT),
  -    {noreply, NewState,Timeout};
  +    gen_server:cast(self(),perform_request),
  +    {noreply, NewState,200};
   handle_call(_Request, _From, State) ->
   	{reply, ignored, State}.
   
  +handle_cast(perform_request, State) ->
  +    perform_request(State),
  +    {stop, normal, State}; 
   handle_cast(_Msg, State) ->
   	{noreply, State}.
   
  
positive.code: -record(state, {
            action = undefined,
            client = undefined,
            service_info = undefined,
            user_info = undefined,
            token = undefined,
            params = undefined
  
negative.code: send_reply(Reply,#state{client=Client}=State) ->
      gen_server:reply(Client,Reply),
      {ok,State#state{client=undefined}}.
  
  
  perform_request(State) ->
      #state{service_id = ServiceId
            } = State,
      {ok, _ServiceInfo} = tts_service:get_info(ServiceId),
      ok. 
  
                        
  