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 Objectprivate ConcurrentMap<ContactInfo, Object> private ORBVersionServiceContextprivate static final ORBUtilSystemException -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddCodeSetServiceContext(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion) protected voidaddServiceContexts(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 voidconnectionCached(Connection conn) private voidprotected voidconsumeServiceContexts(ORB orb, MessageMediator messageMediator) protected voidcontinueOrThrowSystemOrRemarshal(MessageMediator messageMediator, Exception exception) private voidprivate voidvoidendRequest(ORB orb, Object self, CDRInputObject inputObject) After the presentation block completes a request it signals the PEPt runtime by calling this method.private voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidgeneralMessage(String msg) protected ContactInfoListIteratorprotected voidgetExceptionDetailMessage(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 voidoperationAndId(String op, int rid) protected StringpeekUserExceptionId(CDRInputObject inputObject) protected voidperformCodeSetNegotiation(MessageMediator messageMediator) protected CDRInputObjectprocessResponse(ORB orb, MessageMediator messageMediator, CDRInputObject inputObject) private voidreceivedUserException(String repoid) private voidreceivedUserExceptionDII(Throwable exc, Throwable newExc) private voidreceivedUserExceptionNotDII(Throwable exc, Throwable newExc) protected voidregisterWaiter(MessageMediator messageMediator) private voidprivate voidreportException(String msg, Throwable exc) private voidreportException(Throwable exc) private voidretryMessage(String msg) protected voidunregisterWaiter(ORB orb) private voidprivate 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: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
-
marshalingComplete
public CDRInputObject marshalingComplete(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
-
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:
SystemExceptionRemarshalException
-
getContactInfoListIterator
-
registerWaiter
-
unregisterWaiter
-
addServiceContexts
-
consumeServiceContexts
-
getExceptionDetailMessage
protected void getExceptionDetailMessage(MessageMediator messageMediator, ORBUtilSystemException wrapper) -
endRequest
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
-
addCodeSetServiceContext
protected void addCodeSetServiceContext(Connection conn, ServiceContexts ctxs, GIOPVersion giopVersion) -
peekUserExceptionId
-