ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/clientinterface/ClientInterfaceMain.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/clientinterface/ClientInterfaceMain.java (file contents):
Revision 1.7 by tdb, Thu Jan 18 23:07:00 2001 UTC vs.
Revision 1.17 by tdb, Wed Feb 21 19:11:28 2001 UTC

# Line 16 | Line 16 | import uk.ac.ukc.iscream.util.*;
16   * @author  $Author$
17   * @version $Id$
18   */
19 < public class ClientInterfaceMain implements uk.ac.ukc.iscream.util.Component {
19 > public class ClientInterfaceMain implements Component {
20  
21   //---FINAL ATTRIBUTES---
22  
# Line 41 | Line 41 | public class ClientInterfaceMain implements uk.ac.ukc.
41          // configuration variables we require
42          String ourName = null;
43          int listenPort = 0;
44 +        int queueMonitorInterval = 0;
45          
46          Configuration config = _refman.getCM().getConfiguration("ClientInterface");
47          if (config == null) {
48 <            System.err.println("CRITICAL:Unable to obtain configuration" +
49 <                               "\n         Advise you check the i-scream log for more information.");
50 <            _logger.write(toString(), Logger.FATAL, "ERROR - unable to obtain configuration");
50 <            System.exit(1);
51 <        } else {
48 >            throw new ComponentStartException("Unable to obtain configuration for component");
49 >        }
50 >        else {
51              try {
52 +                // get the configuration properties we need
53                  ourName = config.getProperty("RootFilter.realtimeInterfaceName");
54                  listenPort = Integer.parseInt(config.getProperty("ClientInterface.listenPort"));
55 +                queueMonitorInterval = Integer.parseInt(config.getProperty("Queue.MonitorInterval"));
56              } catch (org.omg.CORBA.MARSHAL e) {
57 <                System.err.println ("CRITICAL:Unable to obtain required configuration property" +
57 <                                    "\n         Advise you check the i-scream log for more information.");
58 <                _logger.write(toString(), Logger.FATAL, "ERROR - required configuration property not present");
59 <                System.exit(1);
60 <
57 >                throw new ComponentStartException("Unable to obtain requried configuration property for component");
58              }
59          }
60 +        
61          // now we have the name of the interface we set it
62          NAME = ourName;
63          
64          _logger.write(toString(), Logger.SYSINIT, "configured");
65 <                
65 >        
66 >        // Setup a PacketSorter
67 >        PacketSorter ps = new PacketSorter(queueMonitorInterval);
68 >        ps.start();
69 >        
70          // ClientInterfaceServant start (for inbound data)
71          _logger.write(toString(), Logger.DEBUG, "starting servant for inbound data");
72 <        ClientInterfaceServant ciServant = new ClientInterfaceServant();
72 >        ClientInterfaceServant ciServant = new ClientInterfaceServant(ps);
73          _refman.bindToOrb(ciServant, "iscream.ClientInterface." + ClientInterfaceMain.NAME);
74          
75 <        ClientListener clientListener = new ClientListener(listenPort, ciServant);
76 <        clientListener.start();
75 >        // Startup the TCPListener
76 >        TCPClientListener tcpClientListener = new TCPClientListener(listenPort, ps, queueMonitorInterval);
77 >        tcpClientListener.start();
78 >        
79 >        // Startup the CORBA Listener
80 >        _logger.write(toString(), Logger.DEBUG, "starting servant for inbound clients");
81 >        CorbaClientListenerServant corbaServant = new CorbaClientListenerServant(ps, queueMonitorInterval);
82 >        // !!! verify this name is correct at some point !!!
83 >        _refman.bindToOrb(corbaServant, "iscream.ClientInterface.CorbaListener");
84          
85          _logger.write(toString(), Logger.SYSINIT, "started");
86      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines