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.Object
lock
private java.util.concurrent.ConcurrentMap<ContactInfo,java.lang.Object>
locks
private MaxStreamFormatVersionServiceContext
msfvc
private ORBVersionServiceContext
ovsc
private static ORBUtilSystemException
wrapper
-
Constructor Summary
Constructors Constructor Description ClientRequestDispatcherImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCodeSetServiceContext(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion)
protected void
addServiceContexts(MessageMediator messageMediator)
CDROutputObject
beginRequest(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 void
connectionCached(Connection conn)
private void
connectionRegistered(Connection conn)
protected void
consumeServiceContexts(ORB orb, MessageMediator messageMediator)
protected void
continueOrThrowSystemOrRemarshal(MessageMediator messageMediator, java.lang.Exception exception)
private void
createdMessageMediator(MessageMediator med)
private void
createOutputObject(CDROutputObject out)
void
endRequest(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 void
enter_clientDecoding()
private void
enter_clientEncoding()
private void
enter_clientTransportAndWait()
private void
enter_connectionSetup()
private void
enter_processResponse()
private void
enter_requestAddServiceContexts()
private void
enter_totalRequest()
private void
exit_clientDecoding()
private void
exit_clientEncoding()
private void
exit_clientTransportAndWait()
private void
exit_connectionSetup()
private void
exit_processResponse()
private void
exit_requestAddServiceContexts()
private void
exit_totalRequest()
private void
generalMessage(java.lang.String msg)
protected ContactInfoListIterator
getContactInfoListIterator(ORB orb)
protected void
getExceptionDetailMessage(MessageMediator messageMediator, ORBUtilSystemException wrapper)
CDRInputObject
marshalingComplete(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.CDRInputObject
marshalingComplete1(ORB orb, MessageMediator messageMediator)
private void
operationAndId(java.lang.String op, int rid)
protected java.lang.String
peekUserExceptionId(CDRInputObject inputObject)
protected void
performCodeSetNegotiation(MessageMediator messageMediator)
protected CDRInputObject
processResponse(ORB orb, MessageMediator messageMediator, CDRInputObject inputObject)
private void
receivedUserException(java.lang.String repoid)
private void
receivedUserExceptionDII(java.lang.Throwable exc, java.lang.Throwable newExc)
private void
receivedUserExceptionNotDII(java.lang.Throwable exc, java.lang.Throwable newExc)
protected void
registerWaiter(MessageMediator messageMediator)
private void
remarshalWithHasNextTrue(ContactInfo info)
private void
reportException(java.lang.String msg, java.lang.Throwable exc)
private void
reportException(java.lang.Throwable exc)
private void
retryMessage(java.lang.String msg)
protected void
unregisterWaiter(ORB orb)
private void
usingCachedConnection(Connection conn)
private void
usingCreatedConnection(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:ClientRequestDispatcher
At 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:
beginRequest
in interfaceClientRequestDispatcher
- Parameters:
self
- -opName
- - the remote method nameisOneWay
- -true
if 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:ClientRequestDispatcher
After 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:
marshalingComplete
in 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:
SystemException
RemarshalException
-
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:ClientRequestDispatcher
After 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:
endRequest
in 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)
-
-