src/java.corba/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java

Print this page




  37 import com.sun.corba.se.spi.monitoring.MonitoringConstants;
  38 import com.sun.corba.se.spi.monitoring.MonitoringFactories;
  39 import com.sun.corba.se.spi.monitoring.MonitoredObject;
  40 import com.sun.corba.se.spi.orb.ORB;
  41 import com.sun.corba.se.spi.transport.CorbaConnectionCache;
  42 import com.sun.corba.se.spi.transport.CorbaAcceptor;
  43 
  44 import com.sun.corba.se.impl.orbutil.ORBUtility;
  45 
  46 /**
  47  * @author Harold Carr
  48  */
  49 public class CorbaInboundConnectionCacheImpl
  50     extends
  51         CorbaConnectionCacheBase
  52     implements
  53         InboundConnectionCache
  54 {
  55     protected Collection connectionCache;
  56 


  57     public CorbaInboundConnectionCacheImpl(ORB orb, Acceptor acceptor)
  58     {
  59         super(orb, acceptor.getConnectionCacheType(),
  60               ((CorbaAcceptor)acceptor).getMonitoringName());
  61         this.connectionCache = new ArrayList();



  62     }

  63 
  64     ////////////////////////////////////////////////////
  65     //
  66     // pept.transport.InboundConnectionCache
  67     //
  68 










  69     public Connection get(Acceptor acceptor)
  70     {
  71         throw wrapper.methodShouldNotBeCalled();
  72     }
  73 




  74     public void put(Acceptor acceptor, Connection connection)
  75     {
  76         if (orb.transportDebugFlag) {
  77             dprint(".put: " + acceptor + " " + connection);
  78         }
  79         synchronized (backingStore()) {
  80             connectionCache.add(connection);
  81             connection.setConnectionCache(this);
  82             dprintStatistics();
  83         }
  84     }
  85 
  86     public void remove(Connection connection)
  87     {
  88         if (orb.transportDebugFlag) {
  89             dprint(".remove: " +  connection);
  90         }
  91         synchronized (backingStore()) {
  92             connectionCache.remove(connection);
  93             dprintStatistics();




  37 import com.sun.corba.se.spi.monitoring.MonitoringConstants;
  38 import com.sun.corba.se.spi.monitoring.MonitoringFactories;
  39 import com.sun.corba.se.spi.monitoring.MonitoredObject;
  40 import com.sun.corba.se.spi.orb.ORB;
  41 import com.sun.corba.se.spi.transport.CorbaConnectionCache;
  42 import com.sun.corba.se.spi.transport.CorbaAcceptor;
  43 
  44 import com.sun.corba.se.impl.orbutil.ORBUtility;
  45 
  46 /**
  47  * @author Harold Carr
  48  */
  49 public class CorbaInboundConnectionCacheImpl
  50     extends
  51         CorbaConnectionCacheBase
  52     implements
  53         InboundConnectionCache
  54 {
  55     protected Collection connectionCache;
  56 
  57     private Acceptor acceptor;
  58 
  59     public CorbaInboundConnectionCacheImpl(ORB orb, Acceptor acceptor)
  60     {
  61         super(orb, acceptor.getConnectionCacheType(),
  62               ((CorbaAcceptor)acceptor).getMonitoringName());
  63         this.connectionCache = new ArrayList();
  64         this.acceptor = acceptor;
  65         if (orb.transportDebugFlag) {
  66             dprint(": " + acceptor );
  67         }
  68     }
  69 
  70     ////////////////////////////////////////////////////
  71     //
  72     // pept.transport.InboundConnectionCache
  73     //
  74 
  75     public void close () {
  76 
  77         super.close();
  78         if (orb.transportDebugFlag) {
  79             dprint(".close: " + acceptor );
  80         }
  81         this.acceptor.close();
  82         
  83     }
  84 
  85     public Connection get(Acceptor acceptor)
  86     {
  87         throw wrapper.methodShouldNotBeCalled();
  88     }
  89 
  90     public Acceptor getAcceptor () {
  91         return acceptor;
  92     }
  93 
  94     public void put(Acceptor acceptor, Connection connection)
  95     {
  96         if (orb.transportDebugFlag) {
  97             dprint(".put: " + acceptor + " " + connection);
  98         }
  99         synchronized (backingStore()) {
 100             connectionCache.add(connection);
 101             connection.setConnectionCache(this);
 102             dprintStatistics();
 103         }
 104     }
 105 
 106     public void remove(Connection connection)
 107     {
 108         if (orb.transportDebugFlag) {
 109             dprint(".remove: " +  connection);
 110         }
 111         synchronized (backingStore()) {
 112             connectionCache.remove(connection);
 113             dprintStatistics();