gen_server communication conventions
Luke Gorrie
luke@REDACTED
Mon Jun 21 15:48:29 CEST 1999
Hi again all,
I've got another question regarding gen_server. This time, my server
doesn't seem to quite fit the gen_server mould. I want to make
synchronous invocations from clients, but I'd like the server to be
able to defer responding beyond the scope of the call resulting from
gen_server:call(). This seems simple enough to implement: I have the
client make a 'cast' to the server which includes the client pid; the
client blocks on a receive for a response; the server later, based on
some event or other, sends the response directly to the client
process; the client returns with the result.
My question is: Is that a "good" way, or can it and should it be
managed instead through a standard behaviour somehow? I can't really
see how it could be mapped onto straight gen_server calls. I'm not
familiar with what magic goes on inside gen_server, and I just want to
make sure I wouldn't be disabling some of the features associated with
the gen_server behaviour by doing this.
Thanks!
Luke
More information about the erlang-questions
mailing list