Class OtpErlangPort

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class OtpErlangPort
    extends OtpErlangObject
    Provides a Java representation of Erlang ports.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      OtpErlangPort​(int tag, java.lang.String node, long id, int creation)
      Create an Erlang port from its components.
      OtpErlangPort​(OtpInputStream buf)
      Create an Erlang port from a stream containing a port encoded in Erlang external format.
      OtpErlangPort​(java.lang.String node, long id, int creation)
      Create an Erlang port from its components.
    • Method Summary

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

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

      • OtpErlangPort

        public OtpErlangPort​(OtpInputStream buf)
                      throws OtpErlangDecodeException
        Create an Erlang port from a stream containing a port encoded in Erlang external format.
        Parameters:
        buf - the stream containing the encoded port.
        Throws:
        OtpErlangDecodeException - if the buffer does not contain a valid external representation of an Erlang port.
      • OtpErlangPort

        public OtpErlangPort​(java.lang.String node,
                             long id,
                             int creation)
        Create an Erlang port from its components.
        Parameters:
        node - the nodename.
        id - an arbitrary number. Only the low order 28 bits will be used.
        creation - node incarnation number. Avoid values 0 to 3.
      • OtpErlangPort

        public OtpErlangPort​(int tag,
                             java.lang.String node,
                             long id,
                             int creation)
        Create an Erlang port from its components.
        Parameters:
        tag - the external format to be compliant with. OtpExternal.portTag where only a subset of the bits are used (see other constructor) OtpExternal.newPortTag where all 32 bits of id and creation are significant. newPortTag can only be decoded by OTP-19 and newer.
        node - the nodename.
        id - an arbitrary number. Only the low order 28 bits will be used.
        creation - another arbitrary number.
    • Method Detail

      • tag

        protected int tag()
      • id

        public long id()
        Get the id number from the port.
        Returns:
        the id number from the port.
      • creation

        public int creation()
        Get the creation number from the port.
        Returns:
        the creation number from the port.
      • node

        public java.lang.String node()
        Get the node name from the port.
        Returns:
        the node name from the port.
      • toString

        public java.lang.String toString()
        Get the string representation of the port. Erlang ports are printed as #Port<node.id>.
        Specified by:
        toString in class OtpErlangObject
        Returns:
        the string representation of the port.
      • encode

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

        public boolean equals​(java.lang.Object o)
        Determine if two ports are equal. Ports are equal if their components are equal.
        Specified by:
        equals in class OtpErlangObject
        Parameters:
        o - the other port to compare to.
        Returns:
        true if the ports are equal, false otherwise.