## 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
`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, passThrough, peer, random, regSendTag, regSendTTTag, sendCookie, sendTag, sendThreshold, sendTTTag, socket, traceLevel, unlinkTag, version`

Fields inherited from class java.lang.Thread
`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

Method Summary
`void` `close()` Close the connection to the remote node.
`void` `deliver(java.lang.Exception e)` Deliver communication exceptions to the recipient.
`void` `deliver(OtpMsg msg)` Deliver messages to the recipient.
`protected void` `finalize()`

Methods inherited from class com.ericsson.otp.erlang.AbstractConnection
`do_send, do_send, doAccept, doConnect, genChallenge, genDigest, getFlags, getTraceLevel, headerType, isConnected, read2BytePackage, readSock, recvChallenge, recvChallengeAck, recvChallengeReply, recvName, recvStatus, run, sendBuf, sendBuf, sendChallenge, sendChallengeAck, sendChallengeReply, sendExit, sendExit2, sendLink, sendName, sendStatus, sendUnlink, setFlags, setTraceLevel`

Methods inherited from class java.lang.Thread

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

Methods inherited from class java.lang.Object
`clone, 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`