com.ericsson.otp.erlang
Class OtpCookedConnection

java.lang.Object
  extended by java.lang.Thread
      extended by com.ericsson.otp.erlang.AbstractConnection
          extended by 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, localNode, 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, recvComplement, recvName, recvStatus, run, sendBuf, sendBuf, sendChallenge, sendChallengeAck, sendChallengeReply, sendComplement, sendExit, sendExit2, sendLink, sendName, sendStatus, sendUnlink, setFlags, setTraceLevel
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, 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
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