uka.karmi.rmi
Class Connection

java.lang.Object
  extended byuka.transport.JdkMarshalContext
      extended byuka.karmi.rmi.Connection
Direct Known Subclasses:
ClientConnection, ServerConnection

public abstract class Connection
extends JdkMarshalContext

Connection objects represent the context of a remote method invocation. Stub and skeleton objects use connections to marshal and unmarshal method arguments and results. On the client-side the connection is represented by a ClientConnection object, on the server-side, a ServerConnection is used for the remote method dispatch.

Author:
Bernhard Haumacher
See Also:
ClientConnection, ServerConnection

Field Summary
 byte cid
          The command identifier transmitted first in a remote invocation.
 int mid
          The method identifier transmitted third in a remote invocation.
 int oid
          The object identifier transmitted second in a remote invocation.
static byte RETURN_EXCEPTION
          Bit mask that indicates an exceptional return.
static byte RETURN_INTERNAL
          Bit mask that indicates an internal error.
static byte RETURN_INTERRUPT
          Bit mask that indicates a deferred interrupt.
static byte RETURN_OK
           
 long tid
          The thread ID this remote call belongs to.
 
Fields inherited from class uka.transport.JdkMarshalContext
 
Constructor Summary
Connection(MarshalOutput snd, MarshalInput rcv)
           
 
Method Summary
abstract  void closeAsynchronousCall()
           
 java.lang.String toString()
           
 java.lang.String toStringMembers()
           
 
Methods inherited from class uka.transport.JdkMarshalContext
areObjectsReceived, areObjectsSent, close, closeReceivePrimitive, closeSendPrimitive, flush, getMarshalStream, getUnmarshalStream, openReceivePrimitive, openSendPrimitive, receiveBoolean, receiveByte, receiveChar, receiveDouble, receiveFloat, receiveInt, receiveLong, receiveObject, receiveSingleBoolean, receiveSingleByte, receiveSingleChar, receiveSingleDouble, receiveSingleFloat, receiveSingleInt, receiveSingleLong, resetReceive, resetSend, sendBoolean, sendByte, sendChar, sendDouble, sendFloat, sendInt, sendLong, sendObject, sendSingleBoolean, sendSingleByte, sendSingleChar, sendSingleDouble, sendSingleFloat, sendSingleInt, sendSingleLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RETURN_OK

public static final byte RETURN_OK
See Also:
Constant Field Values

RETURN_EXCEPTION

public static final byte RETURN_EXCEPTION
Bit mask that indicates an exceptional return.

See Also:
Constant Field Values

RETURN_INTERRUPT

public static final byte RETURN_INTERRUPT
Bit mask that indicates a deferred interrupt.

See Also:
Constant Field Values

RETURN_INTERNAL

public static final byte RETURN_INTERNAL
Bit mask that indicates an internal error. This result code requests closing the connection.

See Also:
Constant Field Values

cid

public byte cid
The command identifier transmitted first in a remote invocation. This value is set before this context is passed to the stub for initiating the call.


oid

public int oid
The object identifier transmitted second in a remote invocation.

See Also:
cid

mid

public int mid
The method identifier transmitted third in a remote invocation.

See Also:
cid

tid

public long tid
The thread ID this remote call belongs to. It is only initialized to a meaningful value during application calls.

See Also:
cid
Constructor Detail

Connection

public Connection(MarshalOutput snd,
                  MarshalInput rcv)
Method Detail

closeAsynchronousCall

public abstract void closeAsynchronousCall()
                                    throws RemoteException
Throws:
RemoteException

toString

public java.lang.String toString()

toStringMembers

public java.lang.String toStringMembers()