[erlang-questions] EUC 2006 / proposal to enhance message receive

Christian S chsu79@REDACTED
Fri Nov 10 10:48:28 CET 2006


On 11/9/06, Jay Nelson <jay@REDACTED> wrote:
> Actually, I don't get the idea.  You are creating a new process for
> each priority level?  I don't know what oob/1 does.  Does it launch
> a new middleman process?  If so, how does the Highest priority
> jump in front of lower priorities when forwarding messages?

No, the idea was that it creates a Pid object that refers to the same process
but another priority level. My thought was that you get less
specialization. Imagine you pass a message to some server process and
want a priority message back:

Server ! {req, oob(self()), Request},
receive
   {reply, Server, Response} when priority() > 1 ->
       ...
end

Server doesnt need to know that this message is delivered with
increased priority. receive doesnt scan the congested priority() == 0
mailbox.


I dont think I like creeping featurism of priority mailboxes. Is the
goal mainly increased efficiency (over a routing process) in that
cache example?



More information about the erlang-questions mailing list