# Class OtpLocalNode

java.lang.Object
com.ericsson.otp.erlang.AbstractNode
com.ericsson.otp.erlang.OtpLocalNode

All Implemented Interfaces:
  `OtpTransportFactory`

Direct Known Subclasses:
  `OtpNode, OtpSelf`

public class OtpLocalNode extends AbstractNode
This class represents local node types. It is used to group the node types `OtpNode` and `OtpSelf`.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected OtpTransport`
`epmd`
`protected int`
`port`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`OtpLocalNode(String node)`
Create a node with the given name and the default cookie.
`protected`
`OtpLocalNode(String node, OtpTransportFactory transportFactory)`
Create a node with the given name, transport factory and the default cookie.
`protected`
`OtpLocalNode(String node, String cookie)`
Create a node with the given name and cookie.
`protected`
`OtpLocalNode(String node, String cookie, OtpTransportFactory transportFactory)`
Create a node with the given name, cookie and transport factory.

## Method Summary

Modifier and Type
Method
Description
`OtpErlangPid`
`createPid()`
Create an Erlang `pid`.
`OtpErlangPort`
`createPort()`
Create an Erlang `port`.
`OtpErlangRef`
`createRef()`
Create an Erlang `reference`.
`protected OtpTransport`
`getEpmd()`
Get the Epmd socket.
`int`
`port()`
Get the port number used by this node.
`protected void`
`setEpmd(OtpTransport s)`
Set the Epmd socket after publishing this nodes listen port to Epmd.

### Methods inherited from class AbstractNode

`alive, cookie, createServerTransport, createServerTransport, createTransport, createTransport, createTransport, host, node, setCookie, toString`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### port

protected int port

### epmd

protected OtpTransport epmd

## Constructor Details

### OtpLocalNode

protected OtpLocalNode(String node)
Create a node with the given name and the default cookie.

### OtpLocalNode

protected OtpLocalNode(String node, OtpTransportFactory transportFactory)
Create a node with the given name, transport factory and the default cookie.

### OtpLocalNode

protected OtpLocalNode(String node, String cookie)
Create a node with the given name and cookie.

### OtpLocalNode

protected OtpLocalNode(String node, String cookie, OtpTransportFactory transportFactory)
Create a node with the given name, cookie and transport factory.

## Method Details

### port

public int port()
Get the port number used by this node.

Returns:
  the port number this server node is accepting connections on.

### setEpmd

protected void setEpmd(OtpTransport s)
Set the Epmd socket after publishing this nodes listen port to Epmd.

Parameters:
  `s` - The socket connecting this node to Epmd.

### getEpmd

protected OtpTransport getEpmd()
Get the Epmd socket.

Returns:
  The socket connecting this node to Epmd.

### createPid

public OtpErlangPid createPid()
Create an Erlang `pid`. Erlang pids are based upon some node specific information; this method creates a pid using the information in this node. Each call to this method produces a unique pid.

Returns:
  an Erlang pid.

### createPort

public OtpErlangPort createPort()
Create an Erlang `port`. Erlang ports are based upon some node specific information; this method creates a port using the information in this node. Each call to this method produces a unique port. It may not be meaningful to create a port in a non-Erlang environment, but this method is provided for completeness.

Returns:
  an Erlang port.

### createRef

public OtpErlangRef createRef()
Create an Erlang `reference`. Erlang references are based upon some node specific information; this method creates a reference using the information in this node. Each call to this method produces a unique reference.

Returns:
  an Erlang reference.