Class ContactInfoListImpl

java.lang.Object
com.sun.corba.ee.impl.transport.ContactInfoListImpl
All Implemented Interfaces:
ContactInfoList
Direct Known Subclasses:
NoConnectionCacheImpl.NCCContactInfoListImpl, SocketFactoryContactInfoListImpl

public class ContactInfoListImpl extends Object implements ContactInfoList
  • Field Details

    • wrapper

      private static final ORBUtilSystemException wrapper
    • orb

      protected ORB orb
    • lcrdLock

      private ReadWriteLock lcrdLock
    • localClientRequestDispatcher

      protected LocalClientRequestDispatcher localClientRequestDispatcher
    • targetIOR

      protected IOR targetIOR
    • effectiveTargetIOR

      protected IOR effectiveTargetIOR
    • effectiveTargetIORContactInfoList

      protected List<ContactInfo> effectiveTargetIORContactInfoList
    • primaryContactInfo

      protected ContactInfo primaryContactInfo
    • usePerRequestLoadBalancing

      private boolean usePerRequestLoadBalancing
    • startCount

      private int startCount
    • testPred

      private org.glassfish.pfl.basic.func.UnaryPredicate<ContactInfo> testPred
    • skipRotate

      private static ThreadLocal<Boolean> skipRotate
  • Constructor Details

    • ContactInfoListImpl

      public ContactInfoListImpl(ORB orb)
    • ContactInfoListImpl

      public ContactInfoListImpl(ORB orb, IOR targetIOR)
  • Method Details

    • filter

      private <T> List<T> filter(List<T> arg, org.glassfish.pfl.basic.func.UnaryPredicate<T> pred)
    • setSkipRotate

      public static void setSkipRotate()
    • display

      @InfoMethod private void display(String msg, int value)
    • display

      @InfoMethod private void display(String msg, Object value)
    • rotate

      private List<ContactInfo> rotate(List<ContactInfo> arg)
    • iterator

      public Iterator<ContactInfo> iterator()
      Specified by:
      iterator in interface ContactInfoList
    • setTargetIOR

      public void setTargetIOR(IOR targetIOR)
      /////////////////////////////////////////////////
      Specified by:
      setTargetIOR in interface ContactInfoList
    • getTargetIOR

      public IOR getTargetIOR()
      Specified by:
      getTargetIOR in interface ContactInfoList
    • getPrimaryAddress

      private IIOPAddress getPrimaryAddress(IOR ior)
    • changingEffectiveAddress

      @InfoMethod private void changingEffectiveAddress(IIOPAddress oldAddr, IIOPAddress newAddr)
    • setEffectiveTargetIOR

      public void setEffectiveTargetIOR(IOR newIOR)
      Specified by:
      setEffectiveTargetIOR in interface ContactInfoList
    • getEffectiveTargetIOR

      public IOR getEffectiveTargetIOR()
      Specified by:
      getEffectiveTargetIOR in interface ContactInfoList
    • getLocalClientRequestDispatcher

      public LocalClientRequestDispatcher getLocalClientRequestDispatcher()
      Specified by:
      getLocalClientRequestDispatcher in interface ContactInfoList
    • hashCode

      public int hashCode()
      /////////////////////////////////////////////////
      Specified by:
      hashCode in interface ContactInfoList
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • createContactInfoList

      private void createContactInfoList()
      /////////////////////////////////////////////////
    • addRemoteContactInfos

      private void addRemoteContactInfos(IOR effectiveTargetIOR, List<ContactInfo> effectiveTargetIORContactInfoList)
    • createContactInfo

      protected ContactInfo createContactInfo(String type, String hostname, int port)
    • setLocalSubcontract

      protected void setLocalSubcontract()
      setLocalSubcontract sets cached information that is set whenever the effectiveTargetIOR changes. Note: this must be maintained accurately whether or not the ORB allows local optimization, because ServantManagers in the POA ALWAYS use local optimization ONLY (they do not have a remote case).
    • getPrimaryContactInfo

      public ContactInfo getPrimaryContactInfo()