[erlang-questions] How to write a handle_call for gen_server callback with checking user?
Jeroen Koops
koops.j@REDACTED
Fri Apr 2 09:08:39 CEST 2010
You could change it into:
handle_call({start, User, Passwd, Algorithm, ScheduledTime, XmlParams},
_From, State) ->
case check_user(User, Passwd) of
false ->
{ reply, {error, rejected}, State };
_ ->
?INFOLOG("Received request from user ~p for
~p.~n",[User,Algorithm])
% other code for processing user request...
% other code for processing user request...
{ reply, { ok, SomeResponse }, State }
end
end.
... if that's what you mean.
Regards,
Jeroen
On Fri, Apr 2, 2010 at 12:29 AM, 钱晓明 <kyleqian@REDACTED> wrote:
> Just a simple question! My handle_call just like this:
>
> handle_call({start, User, Passwd, Algorithm, ScheduledTime, XmlParams},
> _From,
> State) ->
> Reply = case check_user(User, Passwd) of
> false ->
> {error, rejected};
> _ ->
> ?INFOLOG("Received request from user ~p for ~p.~n",
> [User,Algorithm])
> % other code for processing user request...
> % other code for processing user request...
> end,
> {reply, Reply, State}.
>
> Can I return {reply, {error, rejected}, State} immediately when I find that
> check_user return false? How can I write such code?
> I was a C++ programmer before, so expecting something like "return"
> keyword...
> Thanks! All of you give me great favor!
>
More information about the erlang-questions
mailing list