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

changeset 205
b2fff4b7e8cd
parent 158
91006f157c46
child 478
80161c61aa68
equal deleted inserted replaced
198:cc67fdc4fee9 205:b2fff4b7e8cd
1 /* 1 /*
2 * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this 7 * published by the Free Software Foundation. Oracle designates this
31 import java.net.Socket; 31 import java.net.Socket;
32 import java.nio.channels.SelectableChannel; 32 import java.nio.channels.SelectableChannel;
33 import java.nio.channels.SelectionKey; 33 import java.nio.channels.SelectionKey;
34 import java.nio.channels.ServerSocketChannel; 34 import java.nio.channels.ServerSocketChannel;
35 import java.nio.channels.SocketChannel; 35 import java.nio.channels.SocketChannel;
36 import java.security.AccessController;
37 import java.security.PrivilegedAction;
38 import java.util.Collection;
39 import java.util.Iterator; 36 import java.util.Iterator;
40 import java.util.LinkedList;
41
42 import org.omg.CORBA.CompletionStatus;
43 import org.omg.CORBA.INTERNAL;
44 37
45 import com.sun.corba.se.pept.broker.Broker; 38 import com.sun.corba.se.pept.broker.Broker;
46 import com.sun.corba.se.pept.encoding.InputObject; 39 import com.sun.corba.se.pept.encoding.InputObject;
47 import com.sun.corba.se.pept.encoding.OutputObject; 40 import com.sun.corba.se.pept.encoding.OutputObject;
48 import com.sun.corba.se.pept.protocol.MessageMediator; 41 import com.sun.corba.se.pept.protocol.MessageMediator;
59 import com.sun.corba.se.spi.ior.iiop.IIOPAddress ; 52 import com.sun.corba.se.spi.ior.iiop.IIOPAddress ;
60 import com.sun.corba.se.spi.ior.iiop.IIOPFactories; 53 import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
61 import com.sun.corba.se.spi.ior.iiop.IIOPProfileTemplate ; 54 import com.sun.corba.se.spi.ior.iiop.IIOPProfileTemplate ;
62 import com.sun.corba.se.spi.ior.iiop.GIOPVersion ; 55 import com.sun.corba.se.spi.ior.iiop.GIOPVersion ;
63 import com.sun.corba.se.spi.ior.iiop.AlternateIIOPAddressComponent; 56 import com.sun.corba.se.spi.ior.iiop.AlternateIIOPAddressComponent;
64 import com.sun.corba.se.spi.legacy.connection.LegacyServerSocketEndPointInfo;
65 import com.sun.corba.se.spi.logging.CORBALogDomains; 57 import com.sun.corba.se.spi.logging.CORBALogDomains;
66 import com.sun.corba.se.spi.monitoring.LongMonitoredAttributeBase;
67 import com.sun.corba.se.spi.monitoring.MonitoringConstants;
68 import com.sun.corba.se.spi.monitoring.MonitoringFactories;
69 import com.sun.corba.se.spi.monitoring.MonitoredObject;
70 import com.sun.corba.se.spi.orb.ORB; 58 import com.sun.corba.se.spi.orb.ORB;
71 import com.sun.corba.se.spi.orbutil.threadpool.Work; 59 import com.sun.corba.se.spi.orbutil.threadpool.Work;
72 import com.sun.corba.se.spi.protocol.CorbaMessageMediator; 60 import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
73 import com.sun.corba.se.spi.transport.CorbaAcceptor; 61 import com.sun.corba.se.spi.transport.CorbaAcceptor;
74 import com.sun.corba.se.spi.transport.CorbaConnection; 62 import com.sun.corba.se.spi.transport.CorbaConnection;
75 import com.sun.corba.se.spi.transport.CorbaContactInfo;
76 import com.sun.corba.se.spi.transport.SocketInfo; 63 import com.sun.corba.se.spi.transport.SocketInfo;
77 import com.sun.corba.se.spi.transport.SocketOrChannelAcceptor; 64 import com.sun.corba.se.spi.transport.SocketOrChannelAcceptor;
78 65
79 import com.sun.corba.se.impl.encoding.CDRInputObject; 66 import com.sun.corba.se.impl.encoding.CDRInputObject;
80 import com.sun.corba.se.impl.encoding.CDROutputObject; 67 import com.sun.corba.se.impl.encoding.CDROutputObject;
81 import com.sun.corba.se.impl.logging.ORBUtilSystemException; 68 import com.sun.corba.se.impl.logging.ORBUtilSystemException;
82 import com.sun.corba.se.impl.oa.poa.Policies; // REVISIT impl/poa specific 69 import com.sun.corba.se.impl.oa.poa.Policies; // REVISIT impl/poa specific
83 import com.sun.corba.se.impl.orbutil.ORBConstants; 70 import com.sun.corba.se.impl.orbutil.ORBConstants;
84 import com.sun.corba.se.impl.orbutil.ORBUtility; 71 import com.sun.corba.se.impl.orbutil.ORBUtility;
85 import com.sun.corba.se.impl.ior.iiop.JavaSerializationComponent;
86 72
87 // BEGIN Legacy support. 73 // BEGIN Legacy support.
88 import com.sun.corba.se.spi.legacy.connection.LegacyServerSocketEndPointInfo; 74 import com.sun.corba.se.spi.legacy.connection.LegacyServerSocketEndPointInfo;
89 // END Legacy support. 75 // END Legacy support.
90 76
440 try { 426 try {
441 if (orb.transportDebugFlag) { 427 if (orb.transportDebugFlag) {
442 dprint(".doWork->: " + this); 428 dprint(".doWork->: " + this);
443 } 429 }
444 if (selectionKey.isAcceptable()) { 430 if (selectionKey.isAcceptable()) {
445 AccessController.doPrivileged(new PrivilegedAction() {
446 public java.lang.Object run() {
447 accept(); 431 accept();
448 return null;
449 }
450 });
451 } else { 432 } else {
452 if (orb.transportDebugFlag) { 433 if (orb.transportDebugFlag) {
453 dprint(".doWork: ! selectionKey.isAcceptable: " + this); 434 dprint(".doWork: ! selectionKey.isAcceptable: " + this);
454 } 435 }
455 } 436 }

mercurial