Package com.ericsson.otp.erlang

## Class OtpCookedConnection

- java.lang.Object
- - java.lang.Thread
  - - com.ericsson.otp.erlang.AbstractConnection
    - - com.ericsson.otp.erlang.OtpCookedConnection

All Implemented Interfaces:
  `java.lang.Runnable`

    public class OtpCookedConnection
    extends AbstractConnection

Maintains a connection between a Java process and a remote Erlang, Java or C node. The object maintains connection state and allows data to be sent to and received from the peer.

Once a connection is established between the local node and a remote node, the connection object can be used to send and receive messages between the nodes.

The various receive methods are all blocking and will return only when a valid message has been received or an exception is raised.

If an exception occurs in any of the methods in this class, the connection will be closed and must be reopened in order to resume communication with the peer.

The message delivery methods in this class deliver directly to `mailboxes` in the `OtpNode` class.

It is not possible to create an instance of this class directly. OtpCookedConnection objects are created as needed by the underlying mailbox mechanism.

### Nested Class Summary

### Nested classes/interfaces inherited from class java.lang.Thread

`java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

### Field Summary

Fields
`protected com.ericsson.otp.erlang.Links` `links`
`protected OtpNode` `self`

### Fields inherited from class com.ericsson.otp.erlang.AbstractConnection

`ChallengeAck, ChallengeReply, ChallengeStatus, connected, cookieOk, ctrlThreshold, defaultLevel, exit2Tag, exit2TTTag, exitTag, exitTTTag, groupLeaderTag, handshakeThreshold, headerLen, linkTag, localNode, passThrough, peer, random, regSendTag, regSendTTTag, sendCookie, sendTag, sendThreshold, sendTTTag, socket, traceLevel, unlinkIdAckTag, unlinkIdTag, unlinkTag, version`

### Fields inherited from class java.lang.Thread

`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Close the connection to the remote node.
`void` `deliver​(OtpMsg msg)` Deliver messages to the recipient.
`void` `deliver​(java.lang.Exception e)` Deliver communication exceptions to the recipient.
`protected void` `finalize()`

### Methods inherited from class com.ericsson.otp.erlang.AbstractConnection

`do_send, do_send, doAccept, doConnect, doGenericConnect, doPortConnect, genChallenge, genDigest, getFlags, getTraceLevel, headerType, isConnected, read2BytePackage, readSock, recvChallenge, recvChallengeAck, recvChallengeReply, recvComplement, recvName, recvStatus, run, sendBuf, sendBuf, sendChallenge, sendChallengeAck, sendChallengeReply, sendExit, sendExit2, sendLink, sendName, sendStatus, sendUnlink, sendUnlinkAck, setFlags, setTraceLevel`

### Methods inherited from class java.lang.Thread

`activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### self

    protected OtpNode self

#### links

    protected com.ericsson.otp.erlang.Links links

### Method Detail

#### deliver

    public void deliver​(java.lang.Exception e)

Description copied from class: `AbstractConnection`
Deliver communication exceptions to the recipient.

Specified by:
  `deliver` in class `AbstractConnection`

#### deliver

    public void deliver​(OtpMsg msg)

Description copied from class: `AbstractConnection`
Deliver messages to the recipient.

Specified by:
  `deliver` in class `AbstractConnection`

#### close

    public void close()

Description copied from class: `AbstractConnection`
Close the connection to the remote node.

Overrides:
  `close` in class `AbstractConnection`

#### finalize

    protected void finalize()

Overrides:
  `finalize` in class `AbstractConnection`