[erlang-questions] Implement parallel sessions

Frans Schneider schneider@REDACTED
Tue Jan 27 12:50:18 CET 2015


Hi list,

I am implementing a kind of IM proxy which currently handles one single 
session for one user. The session is implemented as a stack of processes 
with from top to bottom the session control process, a stanza encoder / 
decoder process, an en- / decrypt process and finally a process which 
handles the tcp connection. Each process is a FSM and holds state such 
as RC4 encryption state, tcp data etc. The session is controlled by a 
supervisor which is part of a overall supervisor structure. A session 
will be open for a long period.

To implement for multiple users, I want to run the processes in the 
session stack for each user separately to keep them as simple as 
possible and isolate crashes, Each user session should be controlled by 
a supervisor.

What is a common approach to implementing a thing like this, i.e. a 
system with some interdependent processes in parallel?
I was thinking about using the via option for registering processes and 
passing the session id along when calling processes. Where does one keep 
the registry in such a scenario? Would some of the supervisors be a 
proper place?

Since I am still learning to do it the Erlang way, any hint is appreciated,

Frans



More information about the erlang-questions mailing list