Newbie node question
Thu Mar 16 11:12:55 CET 2000
On Thu, 16 Mar 2000, Sean Hinde wrote:
Sean>> First, sorry if it's a stupid question, I'm REALLY a beginner in
Sean>We've all been there
Sean>> If I have 2 nodes A and B, and both "know" each other (B is in the
Sean>> nodes() of A and vice-versa).
Sean>> Is it possible for a node C no connect to A without having B in it's
Sean>> nodes() list ?
Sean>> I saw there is a disconnect_node function, but I can't find a
Sean>> connect_node one...
Sean>Normally all nodes in an erlang system are fully meshed, so
Sean>the act of connecting node C to either A or B will
Sean>automatically connect them all together.
Sean>The 'connect' command is net_adm:ping().
But it is also possible to disable the "connect-all" semantics.
Unfortunately, this has the side-effect that you cannot use
global name registration.
Quote from erl -man global:
The server also performs the critical task of continuously
monitoring changes in node configuration, if a node which
runs a globally registered process goes down, the name will
be globally unregistered. The server will also maintain a
fully connected network. For example, if node N1 connects to
node N2 (which is already connected to N3), the global
server on N1 then N3 will make sure that also N1 and N3 are
connected. If this is not desired, the command line flag
-connect_all false must be passed to init at boot time. In
this case, the name registration facility cannot be used
(but the lock mechanism will still work.)
So, to disable connect_all, try erl -connect_all false
I recommend that you don't do this, though. It might have
unexpected consequences. We at AXD 301 are trying to figure out
ways to evolve from the connect_all philosophy without losing
any central features of Erlang. I can't give you an ETOC on this.
Ulf Wiger, Chief Designer AXD 301 <>
Ericsson Telecom AB tfn: +46 8 719 81 95
Varuvägen 9, Älvsjö mob: +46 70 519 81 95
S-126 25 Stockholm, Sweden fax: +46 8 719 43 44
More information about the erlang-questions