Class OtpErlangPid

java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangPid
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Object>

public class OtpErlangPid extends OtpErlangObject implements 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:
  • Constructor Details

    • OtpErlangPid

      @Deprecated public OtpErlangPid(OtpLocalNode self)
      Deprecated.
      use OtpLocalNode:createPid() instead
      Create a unique Erlang PID belonging to the local node.
      Parameters:
      self - the local node.
    • OtpErlangPid

      public OtpErlangPid(OtpInputStream buf) throws OtpErlangDecodeException
      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

      public OtpErlangPid(String node, int id, int serial, int creation)
      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 - node incarnation number. Avoid values 0 to 3.
    • OtpErlangPid

      protected OtpErlangPid(int tag, String node, int id, int serial, int creation)
      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

      public String node()
      Get the node name from the PID.
      Returns:
      the node name from the PID.
    • toString

      public String toString()
      Get the string representation of the PID. Erlang PIDs are printed as #Pid<node.id.serial>
      Specified by:
      toString in class OtpErlangObject
      Returns:
      the string representation of the PID.
    • encode

      public void encode(OtpOutputStream buf)
      Convert this PID to the equivalent Erlang external representation.
      Specified by:
      encode in class OtpErlangObject
      Parameters:
      buf - an output stream to which the encoded PID should be written.
    • equals

      public boolean equals(Object o)
      Determine if two PIDs are equal. PIDs are equal if their components are equal.
      Specified by:
      equals in class OtpErlangObject
      Parameters:
      o - the other PID to compare to.
      Returns:
      true if the PIDs are equal, false otherwise.
    • doHashCode

      protected int doHashCode()
      Overrides:
      doHashCode in class OtpErlangObject
    • compareTo

      public int compareTo(Object o)
      Specified by:
      compareTo in interface Comparable<Object>