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
    Modifier and Type | Field | Description
    --- | --- | ---
    `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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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`