Package com.sun.corba.ee.impl.protocol
Class ClientRequestDispatcherImpl
- java.lang.Object
-
- com.sun.corba.ee.impl.protocol.ClientRequestDispatcherImpl
-
- All Implemented Interfaces:
ClientRequestDispatcher
- Direct Known Subclasses:
NoConnectionCacheImpl.NCCClientRequestDispatcherImpl,SharedCDRClientRequestDispatcherImpl
public class ClientRequestDispatcherImpl extends java.lang.Object implements ClientRequestDispatcher
ClientDelegate is the RMI client-side subcontract or representation It implements RMI delegate as well as our internal ClientRequestDispatcher interface.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Objectlockprivate java.util.concurrent.ConcurrentMap<ContactInfo,java.lang.Object>locksprivate MaxStreamFormatVersionServiceContextmsfvcprivate ORBVersionServiceContextovscprivate static ORBUtilSystemExceptionwrapper
-
Constructor Summary
Constructors Constructor Description ClientRequestDispatcherImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddCodeSetServiceContext(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion)protected voidaddServiceContexts(MessageMediator messageMediator)CDROutputObjectbeginRequest(java.lang.Object self, java.lang.String opName, boolean isOneWay, ContactInfo contactInfo)At the beginning of a request the presentation block uses this to obtain an OutputObject to set data to be sent on a message.private voidconnectionCached(Connection conn)private voidconnectionRegistered(Connection conn)protected voidconsumeServiceContexts(ORB orb, MessageMediator messageMediator)protected voidcontinueOrThrowSystemOrRemarshal(MessageMediator messageMediator, java.lang.Exception exception)private voidcreatedMessageMediator(MessageMediator med)private voidcreateOutputObject(CDROutputObject out)voidendRequest(ORB orb, java.lang.Object self, CDRInputObject inputObject)After the presentation block completes a request it signals the PEPt runtime by calling this method.private voidenter_clientDecoding()private voidenter_clientEncoding()private voidenter_clientTransportAndWait()private voidenter_connectionSetup()private voidenter_processResponse()private voidenter_requestAddServiceContexts()private voidenter_totalRequest()private voidexit_clientDecoding()private voidexit_clientEncoding()private voidexit_clientTransportAndWait()private voidexit_connectionSetup()private voidexit_processResponse()private voidexit_requestAddServiceContexts()private voidexit_totalRequest()private voidgeneralMessage(java.lang.String msg)protected ContactInfoListIteratorgetContactInfoListIterator(ORB orb)protected voidgetExceptionDetailMessage(MessageMediator messageMediator, ORBUtilSystemException wrapper)CDRInputObjectmarshalingComplete(java.lang.Object self, CDROutputObject outputObject)After the presentation block has set data on the CDROutputObject it signals the PEPt runtime to send the encoded data by calling this method.CDRInputObjectmarshalingComplete1(ORB orb, MessageMediator messageMediator)private voidoperationAndId(java.lang.String op, int rid)protected java.lang.StringpeekUserExceptionId(CDRInputObject inputObject)protected voidperformCodeSetNegotiation(MessageMediator messageMediator)protected CDRInputObjectprocessResponse(ORB orb, MessageMediator messageMediator, CDRInputObject inputObject)private voidreceivedUserException(java.lang.String repoid)private voidreceivedUserExceptionDII(java.lang.Throwable exc, java.lang.Throwable newExc)private voidreceivedUserExceptionNotDII(java.lang.Throwable exc, java.lang.Throwable newExc)protected voidregisterWaiter(MessageMediator messageMediator)private voidremarshalWithHasNextTrue(ContactInfo info)private voidreportException(java.lang.String msg, java.lang.Throwable exc)private voidreportException(java.lang.Throwable exc)private voidretryMessage(java.lang.String msg)protected voidunregisterWaiter(ORB orb)private voidusingCachedConnection(Connection conn)private voidusingCreatedConnection(Connection conn)
-
-
-
Field Detail
-
wrapper
private static final ORBUtilSystemException wrapper
-
lock
private final java.lang.Object lock
-
ovsc
private ORBVersionServiceContext ovsc
-
msfvc
private MaxStreamFormatVersionServiceContext msfvc
-
locks
private java.util.concurrent.ConcurrentMap<ContactInfo,java.lang.Object> locks
-
-
Method Detail
-
usingCachedConnection
@InfoMethod private void usingCachedConnection(Connection conn)
-
usingCreatedConnection
@InfoMethod private void usingCreatedConnection(Connection conn)
-
connectionCached
@InfoMethod private void connectionCached(Connection conn)
-
connectionRegistered
@InfoMethod private void connectionRegistered(Connection conn)
-
createdMessageMediator
@InfoMethod private void createdMessageMediator(MessageMediator med)
-
createOutputObject
@InfoMethod private void createOutputObject(CDROutputObject out)
-
generalMessage
@InfoMethod private void generalMessage(java.lang.String msg)
-
remarshalWithHasNextTrue
@InfoMethod private void remarshalWithHasNextTrue(ContactInfo info)
-
enter_totalRequest
@InfoMethod(tpName="totalRequest", tpType=ENTER) private void enter_totalRequest()
-
exit_totalRequest
@InfoMethod(tpName="totalRequest", tpType=EXIT) private void exit_totalRequest()
-
enter_connectionSetup
@InfoMethod(tpName="connectionSetup", tpType=ENTER) private void enter_connectionSetup()
-
exit_connectionSetup
@InfoMethod(tpName="connectionSetup", tpType=EXIT) private void exit_connectionSetup()
-
enter_clientDecoding
@InfoMethod(tpName="clientDecoding", tpType=ENTER) private void enter_clientDecoding()
-
exit_clientDecoding
@InfoMethod(tpName="clientDecoding", tpType=EXIT) private void exit_clientDecoding()
-
enter_clientEncoding
@InfoMethod(tpName="clientEncoding", tpType=ENTER) private void enter_clientEncoding()
-
exit_clientEncoding
@InfoMethod(tpName="clientEncoding", tpType=EXIT) private void exit_clientEncoding()
-
enter_clientTransportAndWait
@InfoMethod(tpName="clientTransportAndWait", tpType=ENTER) private void enter_clientTransportAndWait()
-
exit_clientTransportAndWait
@InfoMethod(tpName="clientTransportAndWait", tpType=EXIT) private void exit_clientTransportAndWait()
-
enter_processResponse
@InfoMethod(tpName="processResponse", tpType=ENTER) private void enter_processResponse()
-
exit_processResponse
@InfoMethod(tpName="processResponse", tpType=EXIT) private void exit_processResponse()
-
enter_requestAddServiceContexts
@InfoMethod(tpName="requestAddServiceContexts", tpType=ENTER) private void enter_requestAddServiceContexts()
-
exit_requestAddServiceContexts
@InfoMethod(tpName="requestAddServiceContexts", tpType=EXIT) private void exit_requestAddServiceContexts()
-
beginRequest
public CDROutputObject beginRequest(java.lang.Object self, java.lang.String opName, boolean isOneWay, ContactInfo contactInfo)
Description copied from interface:ClientRequestDispatcherAt the beginning of a request the presentation block uses this to obtain an OutputObject to set data to be sent on a message.- Specified by:
beginRequestin interfaceClientRequestDispatcher- Parameters:
self- -opName- - the remote method nameisOneWay- -trueif the message is asynchronouscontactInfo- - the CorbaContactInfo which which created/chose thisClientRequestDispatcher- Returns:
- OutputObject
-
operationAndId
@InfoMethod private void operationAndId(java.lang.String op, int rid)
-
marshalingComplete
public CDRInputObject marshalingComplete(java.lang.Object self, CDROutputObject outputObject) throws ApplicationException, RemarshalException
Description copied from interface:ClientRequestDispatcherAfter the presentation block has set data on the CDROutputObject it signals the PEPt runtime to send the encoded data by calling this method.- Specified by:
marshalingCompletein interfaceClientRequestDispatcher- Parameters:
self- -outputObject- object to mark as complete- Returns:
- CDRInputObject if the message is synchronous.
- Throws:
ApplicationException- if the remote side raises an exception declared in the remote interface.RemarshalException- RemarshalException if the PEPt runtime would like the presentation block to start over.
-
retryMessage
@InfoMethod private void retryMessage(java.lang.String msg)
-
reportException
@InfoMethod private void reportException(java.lang.Throwable exc)
-
reportException
@InfoMethod private void reportException(java.lang.String msg, java.lang.Throwable exc)
-
marshalingComplete1
public CDRInputObject marshalingComplete1(ORB orb, MessageMediator messageMediator) throws ApplicationException, RemarshalException
-
receivedUserException
@InfoMethod private void receivedUserException(java.lang.String repoid)
-
receivedUserExceptionDII
@InfoMethod private void receivedUserExceptionDII(java.lang.Throwable exc, java.lang.Throwable newExc)
-
receivedUserExceptionNotDII
@InfoMethod private void receivedUserExceptionNotDII(java.lang.Throwable exc, java.lang.Throwable newExc)
-
processResponse
protected CDRInputObject processResponse(ORB orb, MessageMediator messageMediator, CDRInputObject inputObject) throws ApplicationException, RemarshalException
-
continueOrThrowSystemOrRemarshal
protected void continueOrThrowSystemOrRemarshal(MessageMediator messageMediator, java.lang.Exception exception) throws SystemException, RemarshalException
- Throws:
SystemExceptionRemarshalException
-
getContactInfoListIterator
protected ContactInfoListIterator getContactInfoListIterator(ORB orb)
-
registerWaiter
protected void registerWaiter(MessageMediator messageMediator)
-
unregisterWaiter
protected void unregisterWaiter(ORB orb)
-
addServiceContexts
protected void addServiceContexts(MessageMediator messageMediator)
-
consumeServiceContexts
protected void consumeServiceContexts(ORB orb, MessageMediator messageMediator)
-
getExceptionDetailMessage
protected void getExceptionDetailMessage(MessageMediator messageMediator, ORBUtilSystemException wrapper)
-
endRequest
public void endRequest(ORB orb, java.lang.Object self, CDRInputObject inputObject)
Description copied from interface:ClientRequestDispatcherAfter the presentation block completes a request it signals the PEPt runtime by calling this method. This method may release resources. In some cases it may cause control or error messages to be sent.- Specified by:
endRequestin interfaceClientRequestDispatcher- Parameters:
orb- ORB usedself- unusedinputObject- unused
-
performCodeSetNegotiation
protected void performCodeSetNegotiation(MessageMediator messageMediator)
-
addCodeSetServiceContext
protected void addCodeSetServiceContext(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion)
-
peekUserExceptionId
protected java.lang.String peekUserExceptionId(CDRInputObject inputObject)
-
-