[erlang-questions] Is using gen_server behaviour appropriate for his usecase?
Fri Nov 30 09:36:35 CET 2012
In most of the cases one shall not use "simple loop functions": raw process cannot participate properly in the supervision tree.
If you need some new tricky specific model of behaving - better implement it over gen_server.
For instance supervisor is a gen_server :)
If you need something more low level - use 'gen' module (see how gen_fsm is implemented).
RG ( +375 33 602 5080, UTC+3 )
On Friday, November 30, 2012 at 11:25 am, Vineet Naik wrote:
> I am an Erlang newbie and trying to write a simple chat bot as an
> XMPP external component. I am using exmpp library and following
> along these tutorials
> So far I have one module `bot_server` that uses the gen_server
> interface. Inside it's `handle_info` callback, incoming messages
> from various client will be received. To handle and reply to the
> these messages, I am thinking of spawning a "bot" process per
> client. It will stay alive as long as the client is available
> ie. when the client sends "unavailable" presence, it will die. I
> also need to keep a list of all the alive bot processes in the
> bot_server's state.
> My question is, would it be appropriate to implement the bot as a
> gen_server too considering that it needs to handle two calls, one
> for handling incoming message (asynchronous) and second for
> killing itself (synchronous)?
> In general, when should one use gen_server and when should
> one write a simple loop function?
>  exmpp tutorials:
> erlang-questions mailing list
> erlang-questions@REDACTED (mailto:erlang-questions@REDACTED)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions