GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
erl_epmd(3) Erlang Module Definition erl_epmd(3)

erl_epmd - Erlang interface towards epmd

This module communicates with the EPMD daemon, see epmd. To implement your own epmd module please see ERTS User's Guide: How to Implement an Alternative Node Discovery for Erlang Distribution

start_link() -> {ok, pid()} | ignore | {error, term()}


This function is invoked as this module is added as a child of the erl_distribution supervisor.

register_node(Name, Port) -> Result


register_node(Name, Port, Driver) -> Result


Types:

Name = string()
Port = integer() >= 0
Driver = inet_tcp | inet6_tcp | inet | inet6
Creation = integer() >= 0 | -1
Result = {ok, Creation} | {error, already_registered} | term()

Registers the node with epmd and tells epmd what port will be used for the current node. It returns a creation number. This number is incremented on each register to help differentiate a new node instance connecting to epmd with the same name.

After the node has successfully registered with epmd it will automatically attempt reconnect to the daemon if the connection is broken.

port_please(Name, Host) ->

               {port, Port, Version} |

               noport | closed |

               {error, term()}


port_please(Name, Host, Timeout) ->

               {port, Port, Version} |

               noport | closed |

               {error, term()}


Types:

Name = atom() | string()
Host = atom() | string() | inet:ip_address()
Timeout = integer() >= 0 | infinity
Port = Version = integer() >= 0

Requests the distribution port for the given node of an EPMD instance. Together with the port it returns a distribution protocol version which has been 5 since Erlang/OTP R6.

listen_port_please(Name, Host) -> {ok, Port}


Types:

Name = atom() | string()
Host = atom() | string() | inet:ip_address()
Port = integer() >= 0

Called by the distribution module to get which port the local node should listen to when accepting new distribution requests.

address_please(Name, Host, AddressFamily) ->

                  Success | {error, term()}


Types:

Name = string()
Host = string() | inet:ip_address()
AddressFamily = inet | inet6
Port = Version = integer() >= 0
Success = {ok, inet:ip_address()} | {ok, inet:ip_address(), Port, Version}

Called by the distribution module to resolves the Host to an IP address of a remote node.

As an optimization this function may also return the port and version of the remote node. If port and version are returned port_please/3 will not be called.

names(Host) -> {ok, [{Name, Port}]} | {error, Reason}


Types:

Host = atom() | string() | inet:ip_address()
Name = string()
Port = integer() >= 0
Reason = address | file:posix()

Called by net_adm:names/0. Host defaults to the localhost. Returns the names and associated port numbers of the Erlang nodes that epmd registered at the specified host. Returns {error, address} if epmd is not operational.

Example:

(arne@dunn)1> erl_epmd:names(localhost).
{ok,[{"arne",40262}]}
kernel 8.2 Ericsson AB

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.