diff options
Diffstat (limited to 'src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java')
-rw-r--r-- | src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java b/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java deleted file mode 100644 index 970fde4..0000000 --- a/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (c) 2003, 2010, 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.net.ServerSocket; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.omg.CORBA.INITIALIZE; -import org.omg.CORBA.INTERNAL; -import org.omg.CORBA.CompletionStatus; - -import com.sun.corba.se.pept.transport.Acceptor; -import com.sun.corba.se.pept.transport.ConnectionCache; -import com.sun.corba.se.pept.transport.ByteBufferPool; -import com.sun.corba.se.pept.transport.ContactInfo; -import com.sun.corba.se.pept.transport.InboundConnectionCache; -import com.sun.corba.se.pept.transport.OutboundConnectionCache; -import com.sun.corba.se.pept.transport.Selector; - -import com.sun.corba.se.spi.ior.IORTemplate; -import com.sun.corba.se.spi.ior.ObjectAdapterId; -import com.sun.corba.se.spi.orb.ORB; -import com.sun.corba.se.spi.transport.CorbaAcceptor; -import com.sun.corba.se.spi.transport.CorbaTransportManager; -import com.sun.corba.se.pept.transport.Connection; -import com.sun.corba.se.pept.transport.ConnectionCache; - -// REVISIT - impl/poa specific: -import com.sun.corba.se.impl.oa.poa.Policies; -import com.sun.corba.se.impl.orbutil.ORBUtility; - -/** - * @author Harold Carr - */ -public class CorbaTransportManagerImpl - implements - CorbaTransportManager -{ - protected ORB orb; - protected List acceptors; - protected Map outboundConnectionCaches; - protected Map inboundConnectionCaches; - protected Selector selector; - - public CorbaTransportManagerImpl(ORB orb) - { - this.orb = orb; - acceptors = new ArrayList(); - outboundConnectionCaches = new HashMap(); - inboundConnectionCaches = new HashMap(); - selector = new SelectorImpl(orb); - } - - //////////////////////////////////////////////////// - // - // pept TransportManager - // - - public ByteBufferPool getByteBufferPool(int id) - { - throw new RuntimeException(); - } - - public OutboundConnectionCache getOutboundConnectionCache( - ContactInfo contactInfo) - { - synchronized (contactInfo) { - if (contactInfo.getConnectionCache() == null) { - OutboundConnectionCache connectionCache = null; - synchronized (outboundConnectionCaches) { - connectionCache = (OutboundConnectionCache) - outboundConnectionCaches.get( - contactInfo.getConnectionCacheType()); - if (connectionCache == null) { - // REVISIT: Would like to be able to configure - // the connection cache type used. - connectionCache = - new CorbaOutboundConnectionCacheImpl(orb, - contactInfo); - outboundConnectionCaches.put( - contactInfo.getConnectionCacheType(), - connectionCache); - } - } - contactInfo.setConnectionCache(connectionCache); - } - return contactInfo.getConnectionCache(); - } - } - - public Collection getOutboundConnectionCaches() - { - return outboundConnectionCaches.values(); - } - - public InboundConnectionCache getInboundConnectionCache( - Acceptor acceptor) - { - synchronized (acceptor) { - if (acceptor.getConnectionCache() == null) { - InboundConnectionCache connectionCache = null; - synchronized (inboundConnectionCaches) { - connectionCache = (InboundConnectionCache) - inboundConnectionCaches.get( - acceptor.getConnectionCacheType()); - if (connectionCache == null) { - // REVISIT: Would like to be able to configure - // the connection cache type used. - connectionCache = - new CorbaInboundConnectionCacheImpl(orb, - acceptor); - inboundConnectionCaches.put( - acceptor.getConnectionCacheType(), - connectionCache); - } - } - acceptor.setConnectionCache(connectionCache); - } - return acceptor.getConnectionCache(); - } - } - - public Collection getInboundConnectionCaches() - { - return inboundConnectionCaches.values(); - } - - public Selector getSelector(int id) - { - return selector; - } - - public synchronized void registerAcceptor(Acceptor acceptor) - { - if (orb.transportDebugFlag) { - dprint(".registerAcceptor->: " + acceptor); - } - acceptors.add(acceptor); - if (orb.transportDebugFlag) { - dprint(".registerAcceptor<-: " + acceptor); - } - } - - public Collection getAcceptors() - { - return getAcceptors(null, null); - } - - public synchronized void unregisterAcceptor(Acceptor acceptor) - { - acceptors.remove(acceptor); - } - - public void close() - { - try { - if (orb.transportDebugFlag) { - dprint(".close->"); - } - for (Object cc : outboundConnectionCaches.values()) { - ((ConnectionCache)cc).close() ; - } - for (Object icc : inboundConnectionCaches.values()) { - ((ConnectionCache)icc).close() ; - unregisterAcceptor(((InboundConnectionCache)icc).getAcceptor()); - } - getSelector(0).close(); - } finally { - if (orb.transportDebugFlag) { - dprint(".close<-"); - } - } - } - - //////////////////////////////////////////////////// - // - // CorbaTransportManager - // - - public Collection getAcceptors(String objectAdapterManagerId, - ObjectAdapterId objectAdapterId) - { - // REVISIT - need to filter based on arguments. - - // REVISIT - initialization will be moved to OA. - // Lazy initialization of acceptors. - Iterator iterator = acceptors.iterator(); - while (iterator.hasNext()) { - Acceptor acceptor = (Acceptor) iterator.next(); - if (acceptor.initialize()) { - if (acceptor.shouldRegisterAcceptEvent()) { - orb.getTransportManager().getSelector(0) - .registerForEvent(acceptor.getEventHandler()); - } - } - } - return acceptors; - } - - // REVISIT - POA specific policies - public void addToIORTemplate(IORTemplate iorTemplate, - Policies policies, - String codebase, - String objectAdapterManagerId, - ObjectAdapterId objectAdapterId) - { - Iterator iterator = - getAcceptors(objectAdapterManagerId, objectAdapterId).iterator(); - while (iterator.hasNext()) { - CorbaAcceptor acceptor = (CorbaAcceptor) iterator.next(); - acceptor.addToIORTemplate(iorTemplate, policies, codebase); - } - } - - - //////////////////////////////////////////////////// - // - // implemenation - // - - protected void dprint(String msg) - { - ORBUtility.dprint("CorbaTransportManagerImpl", msg); - } -} - -// End of file. |