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
ClientDelegate is the RMI client-side subcontract or representation
It implements RMI delegate as well as our internal ClientRequestDispatcher
interface.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Object
private ConcurrentMap
<ContactInfo, Object> private ORBVersionServiceContext
private static final ORBUtilSystemException
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCodeSetServiceContext
(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion) protected void
addServiceContexts
(MessageMediator messageMediator) beginRequest
(Object self, 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
protected void
consumeServiceContexts
(ORB orb, MessageMediator messageMediator) protected void
continueOrThrowSystemOrRemarshal
(MessageMediator messageMediator, Exception exception) private void
private void
void
endRequest
(ORB orb, Object self, CDRInputObject inputObject) After the presentation block completes a request it signals the PEPt runtime by calling this method.private void
private void
private void
private void
private void
private void
private void
private void
private void
private void
private void
private void
private void
private void
private void
generalMessage
(String msg) protected ContactInfoListIterator
protected void
getExceptionDetailMessage
(MessageMediator messageMediator, ORBUtilSystemException wrapper) marshalingComplete
(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.marshalingComplete1
(ORB orb, MessageMediator messageMediator) private void
operationAndId
(String op, int rid) protected String
peekUserExceptionId
(CDRInputObject inputObject) protected void
performCodeSetNegotiation
(MessageMediator messageMediator) protected CDRInputObject
processResponse
(ORB orb, MessageMediator messageMediator, CDRInputObject inputObject) private void
receivedUserException
(String repoid) private void
receivedUserExceptionDII
(Throwable exc, Throwable newExc) private void
receivedUserExceptionNotDII
(Throwable exc, Throwable newExc) protected void
registerWaiter
(MessageMediator messageMediator) private void
private void
reportException
(String msg, Throwable exc) private void
reportException
(Throwable exc) private void
retryMessage
(String msg) protected void
unregisterWaiter
(ORB orb) private void
private void
-
Field Details
-
wrapper
-
lock
-
ovsc
-
msfvc
-
locks
-
-
Constructor Details
-
ClientRequestDispatcherImpl
public ClientRequestDispatcherImpl()
-
-
Method Details
-
usingCachedConnection
-
usingCreatedConnection
-
connectionCached
-
connectionRegistered
-
createdMessageMediator
-
createOutputObject
-
generalMessage
-
remarshalWithHasNextTrue
-
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(Object self, 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
-
marshalingComplete
public CDRInputObject marshalingComplete(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
-
reportException
-
reportException
-
marshalingComplete1
public CDRInputObject marshalingComplete1(ORB orb, MessageMediator messageMediator) throws ApplicationException, RemarshalException -
receivedUserException
-
receivedUserExceptionDII
-
receivedUserExceptionNotDII
-
processResponse
protected CDRInputObject processResponse(ORB orb, MessageMediator messageMediator, CDRInputObject inputObject) throws ApplicationException, RemarshalException -
continueOrThrowSystemOrRemarshal
protected void continueOrThrowSystemOrRemarshal(MessageMediator messageMediator, Exception exception) throws SystemException, RemarshalException - Throws:
SystemException
RemarshalException
-
getContactInfoListIterator
-
registerWaiter
-
unregisterWaiter
-
addServiceContexts
-
consumeServiceContexts
-
getExceptionDetailMessage
protected void getExceptionDetailMessage(MessageMediator messageMediator, ORBUtilSystemException wrapper) -
endRequest
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
-
addCodeSetServiceContext
protected void addCodeSetServiceContext(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion) -
peekUserExceptionId
-