gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r3291 - in freeway: . native src/org/gnu/freeway src/org/gn


From: mdonoughe
Subject: [GNUnet-SVN] r3291 - in freeway: . native src/org/gnu/freeway src/org/gnu/freeway/server src/org/gnu/freeway/services src/org/gnu/freeway/services/c src/org/gnu/freeway/util
Date: Wed, 23 Aug 2006 19:45:33 -0700 (PDT)

Author: mdonoughe
Date: 2006-08-23 19:45:23 -0700 (Wed, 23 Aug 2006)
New Revision: 3291

Added:
   freeway/src/org/gnu/freeway/services/IdentityService.java
   freeway/src/org/gnu/freeway/services/c/IdentityService.java
Modified:
   freeway/
   freeway/native/core.c
   freeway/native/java.c
   freeway/native/org_gnu_freeway_server_CPluginLoader.h
   freeway/src/org/gnu/freeway/GNUNetDaemon.java
   freeway/src/org/gnu/freeway/server/CPluginLoader.java
   freeway/src/org/gnu/freeway/server/CoreAPI.java
   freeway/src/org/gnu/freeway/util/StatusCallsService.java
Log:
 StatusCalls:
 no longer aborts resetStatusCalls() without reading the configuration values
 doesn't divide by 0 in cpuUsage

 uses MODULES from gnunetd.conf to load the correct implementations for native 
services



Property changes on: freeway
___________________________________________________________________
Name: svk:merge
   - 9da852c3-611b-0410-9456-b3f9f3a8f88d:/local/freeway:78
ca0d4bff-9018-0410-8ce9-c5d843b21c37:/local/freeway:73
   + 9da852c3-611b-0410-9456-b3f9f3a8f88d:/local/freeway:82
ca0d4bff-9018-0410-8ce9-c5d843b21c37:/local/freeway:73

Modified: freeway/native/core.c
===================================================================
--- freeway/native/core.c       2006-08-24 01:47:36 UTC (rev 3290)
+++ freeway/native/core.c       2006-08-24 02:45:23 UTC (rev 3291)
@@ -29,6 +29,7 @@
 #include <stdio.h>
 #include <GNUnet/gnunet_util.h>
 #include <GNUnet/gnunet_core.h>
+#include <GNUnet/gnunet_identity_service.h>
 #include <locale.h>
 #include "gettext.h"
 #include "jni.h"
@@ -39,6 +40,7 @@
 #include "core.h"
 
 CoreAPIForApplication jcapi;
+PeerIdentity myIdentity;
 
 static int loadApplicationModule(const char * name) {
 fprintf(stderr, "in loadApplicationModule\n");
@@ -110,7 +112,7 @@
   if(handle_ == NULL)
     return 0;
   ret = (*env)->GetLongField(env, retHandle, handle_);
-fprintf(stderr, "leaving requestService: %x\n", ret);
+fprintf(stderr, "leaving requestService %s: %x\n", name, ret);
   return ((ModuleList *) (long) ret)->moduleFptrStruct;
 }
 
@@ -190,5 +192,11 @@
   
   // get some information from Freeway
   jcapi.version = fversion;
-  jcapi.myIdentity = NULL; // Freeway will set this later
+  jcapi.myIdentity = &myIdentity;
 }
+
+void setIdentity() {
+  Identity_ServiceAPI * identity = requestService("identity");
+  GNUNET_ASSERT(identity != NULL);
+  identity->getPeerIdentity(identity->getPublicPrivateKey(), &myIdentity);
+}

Modified: freeway/native/java.c
===================================================================
--- freeway/native/java.c       2006-08-24 01:47:36 UTC (rev 3290)
+++ freeway/native/java.c       2006-08-24 02:45:23 UTC (rev 3291)
@@ -364,3 +364,9 @@
   ((ClientExitHandler) (void*) (long)fptr)((ClientHandle) client);
   unregisterThread();
 }
+
+JNIEXPORT void JNICALL 
Java_org_gnu_freeway_server_CPluginLoader_cSetIdentity(JNIEnv *env, jclass cls, 
jobject capi) {
+  registerThread(env, capi);
+  setIdentity();
+  unregisterThread();
+}

Modified: freeway/native/org_gnu_freeway_server_CPluginLoader.h
===================================================================
--- freeway/native/org_gnu_freeway_server_CPluginLoader.h       2006-08-24 
01:47:36 UTC (rev 3290)
+++ freeway/native/org_gnu_freeway_server_CPluginLoader.h       2006-08-24 
02:45:23 UTC (rev 3291)
@@ -103,6 +103,14 @@
 JNIEXPORT void JNICALL 
Java_org_gnu_freeway_server_CPluginLoader_cCallClientExitHandler
   (JNIEnv *, jclass, jobject, jlong, jobject);
 
+/*
+ * Class:     org_gnu_freeway_server_CPluginLoader
+ * Method:    cSetIdentity
+ * Signature: (Lorg/gnu/freeway/server/CoreAPI;)V
+ */
+JNIEXPORT void JNICALL Java_org_gnu_freeway_server_CPluginLoader_cSetIdentity
+  (JNIEnv *, jclass, jobject);
+
 #ifdef __cplusplus
 }
 #endif

Modified: freeway/src/org/gnu/freeway/GNUNetDaemon.java
===================================================================
--- freeway/src/org/gnu/freeway/GNUNetDaemon.java       2006-08-24 01:47:36 UTC 
(rev 3290)
+++ freeway/src/org/gnu/freeway/GNUNetDaemon.java       2006-08-24 02:45:23 UTC 
(rev 3291)
@@ -138,6 +138,7 @@
                beurk1();
 
                service(CoreService.class);
+               CPluginLoader._.setIdentity();
                //service(HelloExchangeService.class);
                //service(PingPongService.class);
                //service(ConnectionService.class);

Modified: freeway/src/org/gnu/freeway/server/CPluginLoader.java
===================================================================
--- freeway/src/org/gnu/freeway/server/CPluginLoader.java       2006-08-24 
01:47:36 UTC (rev 3290)
+++ freeway/src/org/gnu/freeway/server/CPluginLoader.java       2006-08-24 
02:45:23 UTC (rev 3291)
@@ -31,6 +31,8 @@
 import org.gnu.freeway.util.DatastoreValue;
 import org.gnu.freeway.util.LoggedObject;
 import org.gnu.freeway.util.NativeService;
+import org.gnu.freeway.util.Prefs;
+import org.gnu.freeway.util.ServiceManager;
 import org.gnu.freeway.util.crypto.HashCode512;
 import org.gnu.freeway.util.crypto.HostIdentity;
 import org.gnu.freeway.util.net.CSMessage;
@@ -120,6 +122,7 @@
        private static native void cCallPerNodeCallback(CoreAPI capi, long 
fptr, byte[] identity, long data);
        private static native int cCallBufferFillCallback(CoreAPI capi, long 
fptr, byte[] receiver, byte[] buf, int size);
        private static native void cCallClientExitHandler(CoreAPI capi, long 
handle, CSSession client);
+       private static native void cSetIdentity(CoreAPI capi);
 
        /**
         * This method is used by the generated "services.impl"
@@ -132,8 +135,11 @@
                assert (serviceName != null);
                if(!loaded || !CoreAPI._.isReady())
                        return Handle.NULL;
-               if(serviceName.equals("module_sqstore"))
-                       serviceName = "module_sqstore_sqlite";
+               if(serviceName.startsWith("module_")) {
+                       // TODO: prefs aquisition needs improving!
+                       Prefs prefs = 
ServiceManager.manager.app().getPreferences();
+                       return new Handle(cLoadService("module_" + 
prefs.getString("MODULES", serviceName.substring(7), serviceName.substring(7)), 
CoreAPI._));
+               }
                return new Handle(cLoadService(serviceName, CoreAPI._));
        }
        
@@ -141,7 +147,14 @@
                assert (protocolName != null);
                if(!loaded || !CoreAPI._.isReady())
                        return CoreAPI.SYSERR.getValue();
-               long ptr = cLoadApplicationModule(protocolName, CoreAPI._);
+               long ptr = 0;
+               if(protocolName.startsWith("module_")) {
+                       // TODO: prefs aquisition needs improving!
+                       Prefs prefs = 
ServiceManager.manager.app().getPreferences();
+                       ptr = cLoadApplicationModule("module_" + 
prefs.getString("MODULES", protocolName.substring(7), 
protocolName.substring(7)), CoreAPI._);
+               } else {
+                       ptr = cLoadApplicationModule(protocolName, CoreAPI._);
+               }
                if(ptr == 0) {
                        return CoreAPI.SYSERR.getValue();
                } else {
@@ -293,5 +306,9 @@
        public int callDatumIterator(Handle handle, HashCode512 key, 
DatastoreValue value, Handle closure) {
                return 0;
        }
+       
+       public void setIdentity() {
+               cSetIdentity(CoreAPI._);
+       }
 
 }

Modified: freeway/src/org/gnu/freeway/server/CoreAPI.java
===================================================================
--- freeway/src/org/gnu/freeway/server/CoreAPI.java     2006-08-24 01:47:36 UTC 
(rev 3290)
+++ freeway/src/org/gnu/freeway/server/CoreAPI.java     2006-08-24 02:45:23 UTC 
(rev 3291)
@@ -170,7 +170,7 @@
                return SYSERR;
        }
        
-       public CInt registerPlainTextHandler(CInt type, CPluginLoader.Handle 
callback) {
+       public CInt registerPlaintextHandler(CInt type, CPluginLoader.Handle 
callback) {
                return ((Server) 
protocolCore.getApplication()).getDispatcher().registerPlaintextHandler(type.getValue(),
 P2PNativeMessage.class, new NativeCallback(callback)) ? CoreAPI.OK : 
CoreAPI.SYSERR;
        }
        

Added: freeway/src/org/gnu/freeway/services/IdentityService.java
===================================================================
--- freeway/src/org/gnu/freeway/services/IdentityService.java   2006-08-24 
01:47:36 UTC (rev 3290)
+++ freeway/src/org/gnu/freeway/services/IdentityService.java   2006-08-24 
02:45:23 UTC (rev 3291)
@@ -0,0 +1,36 @@
+ /*
+      This file is part of Freeway
+
+      Freeway is free software; you can redistribute it and/or modify
+      it under the terms of the GNU General Public License as published
+      by the Free Software Foundation; either version 2, or (at your
+      option) any later version.
+
+      Freeway 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 for more details.
+
+      You should have received a copy of the GNU General Public License
+      along with Freeway; see the file COPYING.  If not, write to the
+      Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+      Boston, MA 02111-1307, USA.
+ */
+
+package org.gnu.freeway.services;
+
+import org.gnu.freeway.cwrappers.CDatastoreValue;
+import org.gnu.freeway.cwrappers.CHashCode512;
+import org.gnu.freeway.cwrappers.CInt;
+import org.gnu.freeway.cwrappers.CLong;
+import org.gnu.freeway.cwrappers.CUnsignedInt;
+import org.gnu.freeway.util.NativeService;
+
+/**
+ * @file SqstoreService.java
+ * @brief 
+ * @author mdonoughe
+ */
+public interface IdentityService extends NativeService {
+       //TODO later
+}

Added: freeway/src/org/gnu/freeway/services/c/IdentityService.java
===================================================================
--- freeway/src/org/gnu/freeway/services/c/IdentityService.java 2006-08-24 
01:47:36 UTC (rev 3290)
+++ freeway/src/org/gnu/freeway/services/c/IdentityService.java 2006-08-24 
02:45:23 UTC (rev 3291)
@@ -0,0 +1,17 @@
+// This class was autogenerated by SwitchTableGenerator
+package org.gnu.freeway.services.c;
+
+import org.gnu.freeway.util.NativeService;
+import org.gnu.freeway.util.AbstractNativeService;
+import org.gnu.freeway.server.CPluginLoader;
+
+public class IdentityService extends AbstractNativeService implements 
NativeService, org.gnu.freeway.services.IdentityService {
+
+       public IdentityService() {
+               this(CPluginLoader._);
+       }
+
+       public IdentityService(CPluginLoader loader) {
+               super(loader);
+       }
+}


Property changes on: freeway/src/org/gnu/freeway/services/c/IdentityService.java
___________________________________________________________________
Name: svn:mime-type
   + text/cpp

Modified: freeway/src/org/gnu/freeway/util/StatusCallsService.java
===================================================================
--- freeway/src/org/gnu/freeway/util/StatusCallsService.java    2006-08-24 
01:47:36 UTC (rev 3290)
+++ freeway/src/org/gnu/freeway/util/StatusCallsService.java    2006-08-24 
02:45:23 UTC (rev 3291)
@@ -215,6 +215,11 @@
                String  interfaces;
                String  ifcs;
                boolean start;
+               
+               useBasicMethod= prefs.testString("LOAD",        
"BASICLIMITING","YES");
+               maxNetDownBPS = prefs.getInt("LOAD","MAXNETDOWNBPSTOTAL",50000);
+               maxNetUpBPS = prefs.getInt("LOAD","MAXNETUPBPSTOTAL",50000);
+               maxCPULoad= prefs.getInt("LOAD","MAXCPULOAD",100);
 
                synchronized(statusMutex) {
                        interfaces= prefs.getString("LOAD","INTERFACES",null);
@@ -294,11 +299,6 @@
                                        }
                                interfaces=interfaces.substring(1);
                                }
-
-                       useBasicMethod= prefs.testString("LOAD",        
"BASICLIMITING","YES");
-                       maxNetDownBPS = 
prefs.getInt("LOAD","MAXNETDOWNBPSTOTAL",50000);
-                       maxNetUpBPS = 
prefs.getInt("LOAD","MAXNETUPBPSTOTAL",50000);
-                       maxCPULoad= prefs.getInt("LOAD","MAXCPULOAD",100);
                        }
        }
 
@@ -747,7 +747,7 @@
                int             ret;
                long    now;
 
-               if (!initialized_)
+               if (!initialized_ || maxCPULoad == 0)
                        return -1;
 
                ret = (100 * cpuUsage()) / maxCPULoad;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]