Package com.ericsson.otp.erlang
Class OtpErlangPid
java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangPid
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<Object>
Provides a Java representation of Erlang PIDs. PIDs represent Erlang
processes and consist of a nodename and a number of integers.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ericsson.otp.erlang.OtpErlangObject
OtpErlangObject.Hash
-
Field Summary
Fields inherited from class com.ericsson.otp.erlang.OtpErlangObject
hashCodeValue
-
Constructor Summary
ModifierConstructorDescriptionprotected
OtpErlangPid
(int tag, String node, int id, int serial, int creation) Create an Erlang pid from its components.Create an Erlang PID from a stream containing a PID encoded in Erlang external format.OtpErlangPid
(OtpLocalNode self) Deprecated.use OtpLocalNode:createPid() insteadOtpErlangPid
(String node, int id, int serial, int creation) Create an Erlang pid from its components. -
Method Summary
Modifier and TypeMethodDescriptionint
int
creation()
Get the creation number from the PID.protected int
void
encode
(OtpOutputStream buf) Convert this PID to the equivalent Erlang external representation.boolean
Determine if two PIDs are equal.int
id()
Get the id number from the PID.node()
Get the node name from the PID.int
serial()
Get the serial number from the PID.protected int
tag()
toString()
Get the string representation of the PID.
-
Constructor Details
-
OtpErlangPid
Deprecated.use OtpLocalNode:createPid() insteadCreate a unique Erlang PID belonging to the local node.- Parameters:
self
- the local node.
-
OtpErlangPid
Create an Erlang PID from a stream containing a PID encoded in Erlang external format.- Parameters:
buf
- the stream containing the encoded PID.- Throws:
OtpErlangDecodeException
- if the buffer does not contain a valid external representation of an Erlang PID.
-
OtpErlangPid
Create an Erlang pid from its components.- Parameters:
node
- the nodename.id
- an arbitrary number. Only the low order 15 bits will be used.serial
- another arbitrary number. Only the low order 13 bits will be used.creation
- yet another arbitrary number. Ony the low order 2 bits will be used.
-
OtpErlangPid
Create an Erlang pid from its components.- Parameters:
tag
- the external format to be compliant with OtpExternal.pidTag where only a subset of the bits are significant (see other constructor). OtpExternal.newPidTag where all 32 bits of id,serial and creation are significant. newPidTag can only be decoded by OTP-19 and newer.node
- the nodename.id
- an arbitrary number.serial
- another arbitrary number.creation
- yet another arbitrary number.
-
-
Method Details
-
tag
protected int tag() -
serial
public int serial()Get the serial number from the PID.- Returns:
- the serial number from the PID.
-
id
public int id()Get the id number from the PID.- Returns:
- the id number from the PID.
-
creation
public int creation()Get the creation number from the PID.- Returns:
- the creation number from the PID.
-
node
Get the node name from the PID.- Returns:
- the node name from the PID.
-
toString
Get the string representation of the PID. Erlang PIDs are printed as #Pid<node.id.serial>- Specified by:
toString
in classOtpErlangObject
- Returns:
- the string representation of the PID.
-
encode
Convert this PID to the equivalent Erlang external representation.- Specified by:
encode
in classOtpErlangObject
- Parameters:
buf
- an output stream to which the encoded PID should be written.
-
equals
Determine if two PIDs are equal. PIDs are equal if their components are equal.- Specified by:
equals
in classOtpErlangObject
- Parameters:
o
- the other PID to compare to.- Returns:
- true if the PIDs are equal, false otherwise.
-
doHashCode
protected int doHashCode()- Overrides:
doHashCode
in classOtpErlangObject
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Object>
-