Update of /cvsroot/freenet/freenet/src/freenet/node
In directory sc8-pr-cvs1:/tmp/cvs-serv4057/src/freenet/node

Modified Files:
        Main.java Node.java 
Log Message:
6236:
Add support for a maximum number of FDs used for open files by NativeFSDir, with 
pooling.
Remove reference to BlackLRUQueue in OCM - not used any more, was a dirty hack.
Throw an NPE slightly earlier in some code tracking bug in.


Index: Main.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/Main.java,v
retrieving revision 1.265
retrieving revision 1.266
diff -u -r1.265 -r1.266
--- Main.java   11 Oct 2003 20:00:22 -0000      1.265
+++ Main.java   13 Oct 2003 15:42:01 -0000      1.266
@@ -525,7 +525,8 @@
                                                                                  
storeSize,
                                                                                  
Node.storeBlockSize,
                                                                                  
Node.useDSIndex,
-                                                                                 
Node.storeMaxTempFraction);
+                                                                                 
Node.storeMaxTempFraction,
+                                                                                 
Node.maxNodeFilesOpen);
                                        Enumeration e = dir.keys(true);
                                        Core.logger.log(Main.class, "Trying to convert 
datastore",
                                                                        
Core.logger.NORMAL);
@@ -566,7 +567,8 @@
                                        new File(name).renameTo(storeFiles[0]);
                                        dir = newDir = new NativeFSDirectory
                                                (storeFiles[0], Node.storeSize, 
Node.storeBlockSize,
-                                                Node.useDSIndex, 
Node.storeMaxTempFraction);
+                                                Node.useDSIndex, 
Node.storeMaxTempFraction,
+                                                Node.maxNodeFilesOpen);
                                        Core.logger.log(Main.class, "Conversion done", 
                                                                        
Core.logger.NORMAL);
                                }
@@ -575,7 +577,8 @@
                                                                                       
                  Node.storeSize, 
                                                                                       
                  Node.storeBlockSize,
                                                                                       
                  Node.useDSIndex,
-                                                                                      
                  Node.storeMaxTempFraction);
+                                                                                      
                  Node.storeMaxTempFraction,
+                                                                                      
                  Node.maxNodeFilesOpen);
                                Node.storeFile = new String[] { Node.storeFile[0] };
                        }
            

Index: Node.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/Node.java,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -r1.215 -r1.216
--- Node.java   4 Oct 2003 23:37:26 -0000       1.215
+++ Node.java   13 Oct 2003 15:42:01 -0000      1.216
@@ -41,6 +41,7 @@
 public class Node extends Core {
 
     public static int maxConnDefault = 512;
+    public static int maxFileDefault = 256;
     public static boolean isWin95;
     public static boolean isWin9X;
     public static boolean isWinCE;
@@ -84,37 +85,43 @@
         config.addOption("averageOutputBandwidthLimit", 1, 0,      1205);  // disabled
        
        sysName = sysName.toLowerCase();
+       maxFileDefault = 256;
        int rtMaxNodesDefault = 50;
-       if(sysName.startsWith("windows ce"))
-           isWinCE = true;
-       else isWinCE = false;
-       
-       if(sysName.startsWith("windows 95")) {
-           isWin95 = true;
-           isWin9X = true;
-           maxConnDefault = 20;
-           rtMaxNodesDefault = 10;
-       } else if(sysName.startsWith("windows 98")
-                 || (sysName.startsWith("windows") && 
-                     (sysName.indexOf("millennium") != -1)) ||
-                 (sysName.startsWith("windows me"))) {
-           // Detected Windows 9X
-           maxConnDefault = 60;
-           rtMaxNodesDefault = 30;
-           isWin9X = true;
-       } else {
-           isWin9X = false;
+       if(sysName.startsWith("windows")) {
+           maxFileDefault = 1024; // 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt__setmaxstdio.asp
+           if(sysName.startsWith("windows ce"))
+               isWinCE = true;
+           else if(sysName.startsWith("windows 95")) {
+               isWin95 = true;
+               isWin9X = true;
+               maxConnDefault = 20;
+               rtMaxNodesDefault = 10;
+           } else if(sysName.startsWith("windows 98")
+                     || (sysName.startsWith("windows") && 
+                         (sysName.indexOf("millennium") != -1)) ||
+                     (sysName.startsWith("windows me"))) {
+               // Detected Windows 9X
+               maxConnDefault = 60;
+               rtMaxNodesDefault = 30;
+               isWin9X = true;
+           } else {
+               isWin9X = false;
+           }
        }
        
+       if(sysName.startsWith("windows"))
+       
        if(sysName.startsWith("mac os x")) {
            maxConnDefault = 128;
+           maxFileDefault = 64;
            rtMaxNodesDefault = 40;
            isOSX = true;
        } else isOSX = false;
        
        config.addOption("rtMaxNodes", 1, rtMaxNodesDefault, 1301);  
        
-        config.addOption("maxNodeConnections",   1, maxConnDefault,     1225);
+        config.addOption("maxNodeConnections",   1, maxConnDefault,     1224);
+       config.addOption("maxNodeFilesOpen",     1, maxFileDefault,     1225);
         // I'm deprecating these in favor of
        config.addOption("maxConnectionsPerMinute", 1, 60,  1226);
        config.addOption("maxConnectionsMinute", 1, 60000,  1227);
@@ -651,7 +658,7 @@
 
         // maxNodeConnections
         config.setExpert ("maxNodeConnections", true);
-        config.argDesc   ("maxNodeConnections", "<int>");
+        config.argDesc   ("maxNodeConnections", "<positive integer>");
         config.shortDesc ("maxNodeConnections", "Max. no. of connections to other "+
                          "nodes. Deprecated unless maximumThreads=0.");
         config.longDesc  ("maxNodeConnections", 
@@ -659,6 +666,11 @@
                          "allow at the same time. Forced to 0.4*maximumThreads 
unless"+
                          " maximumThreads = 0.");
         
+       // maxNodeFilesOpen
+       config.setExpert("maxNodeFilesOpen", true);
+       config.argDesc  ("maxNodeFilesOpen", "<positive integer>");
+       config.longDesc ("maxNodeFilesOpen", "Maximum number of file descriptors used 
by the node for files. Not including connections.");
+       
         // ipAddress
        config.setExpert ("ipAddress", true);
         config.argDesc   ("ipAddress", "xxx.xxx.xxx.xxx");
@@ -1803,6 +1815,7 @@
     static public int listenPort;
     static public String storeType;
     static public int maxNodeConnections;
+    static public int maxNodeFilesOpen;
     static public int bandwidthLimit, inputBandwidthLimit, outputBandwidthLimit;
     static public int averageBandwidthLimit, averageInputBandwidthLimit, 
averageOutputBandwidthLimit;
     static public double lowLevelBWLimitMultiplier; // the param value * the fudge 
factor
@@ -2007,6 +2020,7 @@
         //maxFileSize = cacheSize / params.getInt("storeCacheCount");
         
        maxNodeConnections = params.getInt("maxNodeConnections");
+       maxNodeFilesOpen = params.getInt("maxNodeFilesOpen");
        
         rtMaxRefs  = params.getInt("rtMaxRefs");
         rtMaxNodes = params.getInt("rtMaxNodes");

_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to