Class OtpErlangPid

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<java.lang.Object>

    public class OtpErlangPid
    extends OtpErlangObject
    implements java.lang.Comparable<java.lang.Object>
    Provides a Java representation of Erlang PIDs. PIDs represent Erlang processes and consist of a nodename and a number of integers.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected OtpErlangPid​(int tag, java.lang.String node, int id, int serial, int creation)
      Create an Erlang pid from its components.
        OtpErlangPid​(OtpInputStream buf)
      Create an Erlang PID from a stream containing a PID encoded in Erlang external format.
        OtpErlangPid​(OtpLocalNode self)
      Deprecated.
      use OtpLocalNode:createPid() instead
        OtpErlangPid​(java.lang.String node, int id, int serial, int creation)
      Create an Erlang pid from its components.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(java.lang.Object o)  
      int creation()
      Get the creation number from the PID.
      protected int doHashCode()  
      void encode​(OtpOutputStream buf)
      Convert this PID to the equivalent Erlang external representation.
      boolean equals​(java.lang.Object o)
      Determine if two PIDs are equal.
      int id()
      Get the id number from the PID.
      java.lang.String node()
      Get the node name from the PID.
      int serial()
      Get the serial number from the PID.
      protected int tag()  
      java.lang.String toString()
      Get the string representation of the PID.
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • 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​(java.lang.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,
                               java.lang.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 Detail

      • 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 java.lang.String node()
        Get the node name from the PID.
        Returns:
        the node name from the PID.
      • toString

        public java.lang.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​(java.lang.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.
      • compareTo

        public int compareTo​(java.lang.Object o)
        Specified by:
        compareTo in interface java.lang.Comparable<java.lang.Object>