Package com.ericsson.otp.erlang
Class OtpErlangPort
java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangPort
- All Implemented Interfaces:
Serializable
,Cloneable
Provides a Java representation of Erlang ports.
- 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
ConstructorDescriptionOtpErlangPort
(int tag, String node, long id, int creation) Create an Erlang port from its components.Create an Erlang port from a stream containing a port encoded in Erlang external format.OtpErlangPort
(String node, long id, int creation) Create an Erlang port from its components. -
Method Summary
Modifier and TypeMethodDescriptionint
creation()
Get the creation number from the port.protected int
void
encode
(OtpOutputStream buf) Convert this port to the equivalent Erlang external representation.boolean
Determine if two ports are equal.long
id()
Get the id number from the port.node()
Get the node name from the port.protected int
tag()
toString()
Get the string representation of the port.
-
Constructor Details
-
OtpErlangPort
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
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
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
Get the node name from the port.- Returns:
- the node name from the port.
-
toString
Get the string representation of the port. Erlang ports are printed as #Port<node.id>.- Specified by:
toString
in classOtpErlangObject
- Returns:
- the string representation of the port.
-
encode
Convert this port to the equivalent Erlang external representation.- Specified by:
encode
in classOtpErlangObject
- Parameters:
buf
- an output stream to which the encoded port should be written.
-
equals
Determine if two ports are equal. Ports are equal if their components are equal.- Specified by:
equals
in classOtpErlangObject
- Parameters:
o
- the other port to compare to.- Returns:
- true if the ports are equal, false otherwise.
-
doHashCode
protected int doHashCode()- Overrides:
doHashCode
in classOtpErlangObject
-