--- old/src/java.corba/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java 2018-01-30 20:20:42.000000000 -0500 +++ /dev/null 2018-01-30 20:20:42.000000000 -0500 @@ -1,222 +0,0 @@ -/* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.corba.se.impl.transport; - -import java.util.ArrayList; -import java.util.Collection; - -import com.sun.corba.se.pept.broker.Broker; -import com.sun.corba.se.pept.transport.Acceptor; -import com.sun.corba.se.pept.transport.Connection; -import com.sun.corba.se.pept.transport.InboundConnectionCache; - -import com.sun.corba.se.spi.monitoring.LongMonitoredAttributeBase; -import com.sun.corba.se.spi.monitoring.MonitoringConstants; -import com.sun.corba.se.spi.monitoring.MonitoringFactories; -import com.sun.corba.se.spi.monitoring.MonitoredObject; -import com.sun.corba.se.spi.orb.ORB; -import com.sun.corba.se.spi.transport.CorbaConnectionCache; -import com.sun.corba.se.spi.transport.CorbaAcceptor; - -import com.sun.corba.se.impl.orbutil.ORBUtility; - -/** - * @author Harold Carr - */ -public class CorbaInboundConnectionCacheImpl - extends - CorbaConnectionCacheBase - implements - InboundConnectionCache -{ - protected Collection connectionCache; - - private Acceptor acceptor; - - public CorbaInboundConnectionCacheImpl(ORB orb, Acceptor acceptor) - { - super(orb, acceptor.getConnectionCacheType(), - ((CorbaAcceptor)acceptor).getMonitoringName()); - this.connectionCache = new ArrayList(); - this.acceptor = acceptor; - if (orb.transportDebugFlag) { - dprint(": " + acceptor ); - } - } - - //////////////////////////////////////////////////// - // - // pept.transport.InboundConnectionCache - // - - public void close () { - - super.close(); - if (orb.transportDebugFlag) { - dprint(".close: " + acceptor ); - } - this.acceptor.close(); - - } - - public Connection get(Acceptor acceptor) - { - throw wrapper.methodShouldNotBeCalled(); - } - - public Acceptor getAcceptor () { - return acceptor; - } - - public void put(Acceptor acceptor, Connection connection) - { - if (orb.transportDebugFlag) { - dprint(".put: " + acceptor + " " + connection); - } - synchronized (backingStore()) { - connectionCache.add(connection); - connection.setConnectionCache(this); - dprintStatistics(); - } - } - - public void remove(Connection connection) - { - if (orb.transportDebugFlag) { - dprint(".remove: " + connection); - } - synchronized (backingStore()) { - connectionCache.remove(connection); - dprintStatistics(); - } - } - - //////////////////////////////////////////////////// - // - // Implementation - // - - public Collection values() - { - return connectionCache; - } - - protected Object backingStore() - { - return connectionCache; - } - - protected void registerWithMonitoring() - { - // ORB - MonitoredObject orbMO = - orb.getMonitoringManager().getRootMonitoredObject(); - - // REVISIT - add ORBUtil mkdir -p like operation for this. - - // CONNECTION - MonitoredObject connectionMO = - orbMO.getChild(MonitoringConstants.CONNECTION_MONITORING_ROOT); - if (connectionMO == null) { - connectionMO = - MonitoringFactories.getMonitoredObjectFactory() - .createMonitoredObject( - MonitoringConstants.CONNECTION_MONITORING_ROOT, - MonitoringConstants.CONNECTION_MONITORING_ROOT_DESCRIPTION); - orbMO.addChild(connectionMO); - } - - // INBOUND CONNECTION - MonitoredObject inboundConnectionMO = - connectionMO.getChild( - MonitoringConstants.INBOUND_CONNECTION_MONITORING_ROOT); - if (inboundConnectionMO == null) { - inboundConnectionMO = - MonitoringFactories.getMonitoredObjectFactory() - .createMonitoredObject( - MonitoringConstants.INBOUND_CONNECTION_MONITORING_ROOT, - MonitoringConstants.INBOUND_CONNECTION_MONITORING_ROOT_DESCRIPTION); - connectionMO.addChild(inboundConnectionMO); - } - - // NODE FOR THIS CACHE - MonitoredObject thisMO = - inboundConnectionMO.getChild(getMonitoringName()); - if (thisMO == null) { - thisMO = - MonitoringFactories.getMonitoredObjectFactory() - .createMonitoredObject( - getMonitoringName(), - MonitoringConstants.CONNECTION_MONITORING_DESCRIPTION); - inboundConnectionMO.addChild(thisMO); - } - - LongMonitoredAttributeBase attribute; - - // ATTRIBUTE - attribute = new - LongMonitoredAttributeBase( - MonitoringConstants.CONNECTION_TOTAL_NUMBER_OF_CONNECTIONS, - MonitoringConstants.CONNECTION_TOTAL_NUMBER_OF_CONNECTIONS_DESCRIPTION) - { - public Object getValue() { - return new Long(CorbaInboundConnectionCacheImpl.this.numberOfConnections()); - } - }; - thisMO.addAttribute(attribute); - - // ATTRIBUTE - attribute = new - LongMonitoredAttributeBase( - MonitoringConstants.CONNECTION_NUMBER_OF_IDLE_CONNECTIONS, - MonitoringConstants.CONNECTION_NUMBER_OF_IDLE_CONNECTIONS_DESCRIPTION) - { - public Object getValue() { - return new Long(CorbaInboundConnectionCacheImpl.this.numberOfIdleConnections()); - } - }; - thisMO.addAttribute(attribute); - - // ATTRIBUTE - attribute = new - LongMonitoredAttributeBase( - MonitoringConstants.CONNECTION_NUMBER_OF_BUSY_CONNECTIONS, - MonitoringConstants.CONNECTION_NUMBER_OF_BUSY_CONNECTIONS_DESCRIPTION) - { - public Object getValue() { - return new Long(CorbaInboundConnectionCacheImpl.this.numberOfBusyConnections()); - } - }; - thisMO.addAttribute(attribute); - } - - protected void dprint(String msg) - { - ORBUtility.dprint("CorbaInboundConnectionCacheImpl", msg); - } -} - -// End of file.