[Top][All Lists]
[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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [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,
mdonoughe <=