com.sun.corba.se.spi.transport.CorbaContactInfo Java Examples

The following examples show how to use com.sun.corba.se.spi.transport.CorbaContactInfo. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: openjdk-jdk8u   Author: AdoptOpenJDK   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #2
Source Project: openjdk-jdk9   Author: AdoptOpenJDK   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #3
Source Project: jdk1.8-source-analysis   Author: raysonfang   File: CorbaContactInfoListIteratorImpl.java    License: Apache License 2.0 6 votes vote down vote up
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof COMM_FAILURE) {
        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (hasNext()) {
                return true;
            }
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                updateEffectiveTargetIOR(contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #4
Source Project: hottub   Author: dsrg-uoft   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #5
Source Project: jdk1.8-source-analysis   Author: raysonfang   File: ClientRequestInfoImpl.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #6
Source Project: jdk1.8-source-analysis   Author: raysonfang   File: ClientRequestInfoImpl.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #7
Source Project: openjdk-jdk8u-backup   Author: AdoptOpenJDK   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #8
Source Project: openjdk-8-source   Author: keerath   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #9
Source Project: openjdk-jdk9   Author: AdoptOpenJDK   File: CorbaMessageMediatorImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
private byte getStreamFormatVersionForThisRequest(IOR ior,
                                                  GIOPVersion giopVersion)
{

    byte localMaxVersion
        = ORBUtility.getMaxStreamFormatVersion();

    IOR effectiveTargetIOR =
        ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR();
    IIOPProfileTemplate temp =
        (IIOPProfileTemplate)effectiveTargetIOR.getProfile().getTaggedProfileTemplate();
    Iterator iter = temp.iteratorById(TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.value);
    if (!iter.hasNext()) {
        // Didn't have the max stream format version tagged
        // component.
        if (giopVersion.lessThan(GIOPVersion.V1_3))
            return ORBConstants.STREAM_FORMAT_VERSION_1;
        else
            return ORBConstants.STREAM_FORMAT_VERSION_2;
    }

    byte remoteMaxVersion
        = ((MaxStreamFormatVersionComponent)iter.next()).getMaxStreamFormatVersion();

    return (byte)Math.min(localMaxVersion, remoteMaxVersion);
}
 
Example #10
Source Project: TencentKona-8   Author: Tencent   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #11
Source Project: openjdk-jdk8u   Author: AdoptOpenJDK   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #12
Source Project: hottub   Author: dsrg-uoft   File: CorbaContactInfoListIteratorImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof COMM_FAILURE) {
        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (hasNext()) {
                return true;
            }
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                updateEffectiveTargetIOR(contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #13
Source Project: jdk8u60   Author: chenghanpeng   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #14
Source Project: jdk8u60   Author: chenghanpeng   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #15
Source Project: openjdk-8   Author: bpupadhyaya   File: CorbaContactInfoListIteratorImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof COMM_FAILURE) {
        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (hasNext()) {
                return true;
            }
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                updateEffectiveTargetIOR(contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #16
Source Project: hottub   Author: dsrg-uoft   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #17
Source Project: openjdk-8-source   Author: keerath   File: CorbaMessageMediatorImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
private byte getStreamFormatVersionForThisRequest(IOR ior,
                                                  GIOPVersion giopVersion)
{

    byte localMaxVersion
        = ORBUtility.getMaxStreamFormatVersion();

    IOR effectiveTargetIOR =
        ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR();
    IIOPProfileTemplate temp =
        (IIOPProfileTemplate)effectiveTargetIOR.getProfile().getTaggedProfileTemplate();
    Iterator iter = temp.iteratorById(TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.value);
    if (!iter.hasNext()) {
        // Didn't have the max stream format version tagged
        // component.
        if (giopVersion.lessThan(GIOPVersion.V1_3))
            return ORBConstants.STREAM_FORMAT_VERSION_1;
        else
            return ORBConstants.STREAM_FORMAT_VERSION_2;
    }

    byte remoteMaxVersion
        = ((MaxStreamFormatVersionComponent)iter.next()).getMaxStreamFormatVersion();

    return (byte)Math.min(localMaxVersion, remoteMaxVersion);
}
 
Example #18
Source Project: JDKSourceCode1.8   Author: wupeixuan   File: CorbaContactInfoListIteratorImpl.java    License: MIT License 6 votes vote down vote up
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof COMM_FAILURE) {
        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (hasNext()) {
                return true;
            }
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                updateEffectiveTargetIOR(contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #19
Source Project: openjdk-jdk8u-backup   Author: AdoptOpenJDK   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #20
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof COMM_FAILURE) {
        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (hasNext()) {
                return true;
            }
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                updateEffectiveTargetIOR(contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #21
Source Project: JDKSourceCode1.8   Author: wupeixuan   File: ClientRequestInfoImpl.java    License: MIT License 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #22
Source Project: JDKSourceCode1.8   Author: wupeixuan   File: ClientRequestInfoImpl.java    License: MIT License 6 votes vote down vote up
/**
 * The profile that will be used to send the request.  If a location
 * forward has occurred for this operation's object and that object's
 * profile change accordingly, then this profile will be that located
 * profile.
 */
public TaggedProfile effective_profile (){
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_PROFILE );

    if( cachedEffectiveProfile == null ) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        cachedEffectiveProfile =
            corbaContactInfo.getEffectiveProfile().getIOPProfile();
    }

    // Good citizen: In the interest of efficiency, we assume interceptors
    // will not modify the returned TaggedProfile in any way so we need
    // not make a deep copy of it.

    return cachedEffectiveProfile;
}
 
Example #23
Source Project: openjdk-jdk8u-backup   Author: AdoptOpenJDK   File: CorbaContactInfoListIteratorImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof COMM_FAILURE) {
        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (hasNext()) {
                return true;
            }
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                updateEffectiveTargetIOR(contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #24
Source Project: openjdk-8-source   Author: keerath   File: ClientRequestInfoImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * The actual object on which the operation will be invoked.  If the
 * reply_status is LOCATION_FORWARD, then on subsequent requests,
 * effective_target will contain the forwarded IOR while target will
 * remain unchanged.
 */
public org.omg.CORBA.Object effective_target() {
    // access is currently valid for all states:
    //checkAccess( MID_EFFECTIVE_TARGET );

    // Note: This is not necessarily the same as locatedIOR.
    // Reason: See the way we handle COMM_FAILURES in
    // ClientRequestDispatcher.createRequest, v1.32

    if (cachedEffectiveTargetObject == null) {
        CorbaContactInfo corbaContactInfo = (CorbaContactInfo)
            messageMediator.getContactInfo();
        // REVISIT - get through chain like getLocatedIOR helper below.
        cachedEffectiveTargetObject =
            iorToObject(corbaContactInfo.getEffectiveTargetIOR());
    }
    return cachedEffectiveTargetObject;
}
 
Example #25
Source Project: openjdk-jdk8u   Author: AdoptOpenJDK   File: CorbaMessageMediatorImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
private byte getStreamFormatVersionForThisRequest(IOR ior,
                                                  GIOPVersion giopVersion)
{

    byte localMaxVersion
        = ORBUtility.getMaxStreamFormatVersion();

    IOR effectiveTargetIOR =
        ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR();
    IIOPProfileTemplate temp =
        (IIOPProfileTemplate)effectiveTargetIOR.getProfile().getTaggedProfileTemplate();
    Iterator iter = temp.iteratorById(TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.value);
    if (!iter.hasNext()) {
        // Didn't have the max stream format version tagged
        // component.
        if (giopVersion.lessThan(GIOPVersion.V1_3))
            return ORBConstants.STREAM_FORMAT_VERSION_1;
        else
            return ORBConstants.STREAM_FORMAT_VERSION_2;
    }

    byte remoteMaxVersion
        = ((MaxStreamFormatVersionComponent)iter.next()).getMaxStreamFormatVersion();

    return (byte)Math.min(localMaxVersion, remoteMaxVersion);
}
 
Example #26
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof org.omg.CORBA.COMM_FAILURE) {

        if (ex.getCause() instanceof GetEndPointInfoAgainException) {
            socketInfoCookie =
                ((GetEndPointInfoAgainException) ex.getCause())
                .getEndPointInfo();
            return true;
        }

        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                contactInfoList.setEffectiveTargetIOR(
                    contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #27
Source Project: jdk1.8-source-analysis   Author: raysonfang   File: CorbaClientDelegateImpl.java    License: Apache License 2.0 5 votes vote down vote up
public OutputStream request(org.omg.CORBA.Object self,
                            String operation,
                            boolean responseExpected)
{
    ClientInvocationInfo invocationInfo =
        orb.createOrIncrementInvocationInfo();
    Iterator contactInfoListIterator =
        invocationInfo.getContactInfoListIterator();
    if (contactInfoListIterator == null) {
        contactInfoListIterator = contactInfoList.iterator();
        invocationInfo.setContactInfoListIterator(contactInfoListIterator);
    }
    if (! contactInfoListIterator.hasNext()) {
        throw ((CorbaContactInfoListIterator)contactInfoListIterator)
            .getFailureException();
    }
    CorbaContactInfo contactInfo = (CorbaContactInfo) contactInfoListIterator.next();
    ClientRequestDispatcher subcontract = contactInfo.getClientRequestDispatcher();
    // Remember chosen subcontract for invoke and releaseReply.
    // NOTE: This is necessary since a stream is not available in
    // releaseReply if there is a client marshaling error or an
    // error in _invoke.
    invocationInfo.setClientRequestDispatcher(subcontract);
    return (OutputStream)
        subcontract.beginRequest(self, operation,
                                 !responseExpected, contactInfo);
}
 
Example #28
Source Project: openjdk-8-source   Author: keerath   File: CorbaMessageMediatorImpl.java    License: GNU General Public License v2.0 5 votes vote down vote up
public CorbaMessageMediatorImpl(ORB orb,
                                ContactInfo contactInfo,
                                Connection connection,
                                GIOPVersion giopVersion,
                                IOR ior,
                                int requestId,
                                short addrDisposition,
                                String operationName,
                                boolean isOneWay)
{
    this( orb, connection ) ;

    this.contactInfo = (CorbaContactInfo) contactInfo;
    this.addrDisposition = addrDisposition;

    streamFormatVersion =
        getStreamFormatVersionForThisRequest(
            ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR(),
            giopVersion);
    streamFormatVersionSet = true;

    requestHeader = (RequestMessage) MessageBase.createRequest(
        this.orb,
        giopVersion,
        ORBUtility.getEncodingVersion(orb, ior),
        requestId,
        !isOneWay,
        ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR(),
        this.addrDisposition,
        operationName,
        new ServiceContexts(orb),
        null);
}
 
Example #29
Source Project: jdk1.8-source-analysis   Author: raysonfang   File: SocketFactoryContactInfoListIteratorImpl.java    License: Apache License 2.0 5 votes vote down vote up
public boolean reportException(ContactInfo contactInfo,
                               RuntimeException ex)
{
    this.failureContactInfo = (CorbaContactInfo)contactInfo;
    this.failureException = ex;
    if (ex instanceof org.omg.CORBA.COMM_FAILURE) {

        if (ex.getCause() instanceof GetEndPointInfoAgainException) {
            socketInfoCookie =
                ((GetEndPointInfoAgainException) ex.getCause())
                .getEndPointInfo();
            return true;
        }

        SystemException se = (SystemException) ex;
        if (se.completed == CompletionStatus.COMPLETED_NO) {
            if (contactInfoList.getEffectiveTargetIOR() !=
                contactInfoList.getTargetIOR())
            {
                // retry from root ior
                contactInfoList.setEffectiveTargetIOR(
                    contactInfoList.getTargetIOR());
                return true;
            }
        }
    }
    return false;
}
 
Example #30
Source Project: jdk1.8-source-analysis   Author: raysonfang   File: SocketOrChannelConnectionImpl.java    License: Apache License 2.0 5 votes vote down vote up
public SocketOrChannelConnectionImpl(ORB orb,
                                     CorbaContactInfo contactInfo,
                                     boolean useSelectThreadToWait,
                                     boolean useWorkerThread,
                                     String socketType,
                                     String hostname,
                                     int port)
{
    this(orb, useSelectThreadToWait, useWorkerThread);

    this.contactInfo = contactInfo;

    try {
        socket = orb.getORBData().getSocketFactory()
            .createSocket(socketType,
                          new InetSocketAddress(hostname, port));
        socketChannel = socket.getChannel();

        if (socketChannel != null) {
            boolean isBlocking = !useSelectThreadToWait;
            socketChannel.configureBlocking(isBlocking);
        } else {
            // IMPORTANT: non-channel-backed sockets must use
            // dedicated reader threads.
            setUseSelectThreadToWait(false);
        }
        if (orb.transportDebugFlag) {
            dprint(".initialize: connection created: " + socket);
        }
    } catch (Throwable t) {
        throw wrapper.connectFailure(t, socketType, hostname,
                                     Integer.toString(port));
    }
    state = OPENING;
}