jldupont
jldupont

Reputation: 96746

Erlang: is there an API to 'epmd'?

Is there a way to query the name table that epmd daemon manages?

The nodes() function isn't very helpful on that front.

NOTE: I am looking for an API aside from parsing the output generated through stdout.

Upvotes: 5

Views: 1427

Answers (2)

Rob Charlton
Rob Charlton

Reputation: 753

You get the same answer as Zed's code by doing:

net_adm:names()

I don't know if that is a more standard way of doing it or not.

Upvotes: 4

Zed
Zed

Reputation: 57658

To query nodes visible for epmd, call:

EpmdModule = net_kernel:epmd_module().  % erl_epmd by default
EpmdModule:names().

To get a list of connected nodes and their ports:

erlang:system_info(dist).
erlang:system_info(dist_ctrl).

The first call returns you the table in a crash dump format. If you are interested in acquiring the actual ports, use the second one.

Upvotes: 6

Related Questions