ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/java/JavaHost.java
(Generate patch)

Comparing projects/cms/source/host/java/JavaHost.java (file contents):
Revision 1.2 by ab11, Mon Nov 27 20:36:20 2000 UTC vs.
Revision 1.7 by ab11, Mon Mar 19 17:30:17 2001 UTC

# Line 20 | Line 20 | class JavaHost {
20      
21      /**
22       * Constructor for the class. Takes in the hostname and port number
23 <     * of the Configuration Manager.
23 >     * of the Filter Manager.
24       *
25       */
26      public JavaHost( String serverName, int port ){
27 <        // create a connection to the configurator
27 >        // create a connection to the filter manager
28 >        System.out.println("Creating connection with Filter Manager");
29          Config config = new Config(serverName, port);
30          // the config class knows what values it wants to get from
31 <        // the configurator
31 >        // the configuration system
32          
33 <        // create a SystemMonitor object and pass the confifurator
33 >        // create a SystemMonitor object and pass the config
34          // as a param so it knows what to do!
35 +        System.out.println("Creating System Monitor");
36          SystemMonitor sysMon = new SystemMonitor(config);
37          
38 +        try {
39 +            udpcheckInterval = Long.parseLong(config.getProperty("UDPUpdateTime")) * 1000;
40 +            System.out.println("Configured UDPUpdateTime");
41 +        }
42 +        catch ( NumberFormatException e ){
43 +            System.out.println("The value for UDPUpdateTime is invalid, using a default");
44 +            // 1 mins
45 +            udpcheckInterval = 1000 * 60;  // 1 minute
46 +        }
47 +        
48 +        try {
49 +            tcpcheckInterval = Long.parseLong(config.getProperty("TCPUpdateTime")) * 1000;
50 +            System.out.println("Configured TCPUpdateTime");
51 +        }
52 +        catch ( NumberFormatException e ){
53 +            System.out.println("The value for UDPUpdateTime is invalid, using a default");
54 +            // 10 mins
55 +            tcpcheckInterval = 10000 * 60;  // 5 minutes
56 +        }
57 +        
58 +        // the current time..
59 +        long currentTime = System.currentTimeMillis();
60 +        long nextUDP = currentTime + udpcheckInterval;
61 +        long nextTCP = currentTime + tcpcheckInterval;
62 +        
63          while ( true ){
64 +            currentTime = System.currentTimeMillis();
65              // keep going for ever and ever ;)
66 <            // send a udp packet to the filter declared in config
67 <            // send it the xml packet created by getInfo()
68 <            LowLevelNet.sendUDPPacket(config, sysMon.getInfo());    
69 <        }
66 >            
67 >            if ( nextTCP < nextUDP ){
68 >                try {
69 >                    long sleeptime = nextTCP - currentTime;
70 >                    if ( sleeptime > 0 ){
71 >                        Thread.sleep(sleeptime);
72 >                    }
73 >                    nextTCP += tcpcheckInterval;
74 >                    // send a heartbeat
75 >                    //System.out.println("Sending Heartbeat");
76 >                        System.out.print("+");
77 >                config.sendHeartBeat();
78 >                if ( config.reloadConfig() ){
79 >                    System.out.println("\nRestarting System");
80 >                    break;  
81 >                }
82 >         }
83 >         catch ( InterruptedException e ){
84 >            // do nothing
85 >         }
86 >            }
87 >            else {
88 >                try {
89 >                    long sleeptime = nextUDP - currentTime;
90 >                    if ( sleeptime > 0 ){
91 >                        Thread.sleep(sleeptime);
92 >                    }
93 >                    nextUDP += udpcheckInterval;
94 >                    // send a heartbeat
95 >                //System.out.println("Sending UDP Packet");
96 >                System.out.print(".");
97 >                    LowLevelNet.sendUDPPacket(config, sysMon.getInfo());  
98 >            
99 >         }
100 >         catch ( InterruptedException e ){
101 >            // do nothing
102 >         }  
103 >            }
104 >            
105 >            
106 >            
107 >        } // while
108          
109 +          
110      } // public javahost
111  
112  
# Line 50 | Line 117 | class JavaHost {
117   //---ACCESSOR/MUTATOR METHODS---
118  
119   //---ATTRIBUTES---
120 +
121 +    private long udpcheckInterval;
122 +    private long tcpcheckInterval;
123 +    private final long defaultUpdateTime = 60000;
124 +
125  
126   //---STATIC ATTRIBUTES---
127  
128 < } // class
128 > } // class

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines