Class OtpErlangPort

java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangPort
All Implemented Interfaces:
Serializable, Cloneable

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

    • 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(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 - another arbitrary number. Only the low order 2 bits will be used.
    • OtpErlangPort

      public OtpErlangPort(int tag, 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 Details

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

      public 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(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.
    • doHashCode

      protected int doHashCode()
      Overrides:
      doHashCode in class OtpErlangObject