Extending Functionality: gen_server_ext

Chris Pressey <>
Wed Mar 19 17:13:27 CET 2003

On Fri, 14 Mar 2003 10:28:23 +0100
"Vlad Dumitrescu (EAW)" <> wrote:

> Hi guys,
> I happen to know this Vlad person :-D and he likes to be the fool that
> throws the stone into the lake and let 20 wise people try for a month
> to figure how to pick it back.
> [... gen_server_ext ...]

Hi Vlad,

I think you're really onto something here (for dynamic behaviour at least,
i.e. when you already know for sure you're going to have a process), I
just wanted to clarify how it works.

First, it occurs to me that I don't know any good term for "module which
implements a behaviour", so I'm going to use "behaver" for better or worse
(sounds a lot like "behaviour" when spoken so I'm open to better

So - my impression is that, when you write a behaver for gen_server_ext,
you typically code it so that when it receives a message it doesn't
understand, it passes it on to the next behaver with

The other option open seems to be that any unrecognized message would be
passed along to the next behaver in the chain.  (a bit like gen_event?)

I can see why you would want to go with the first method - it's more
flexible and more explicit/predictable - but I think there are some minor
oddities with it being explicit, too - could you accidentally call
next_cast within a call handler? (then what happens?  Is this "legal"?)


More information about the erlang-questions mailing list