[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21966 - in gnunet-java: . src/org/gnunet/statistics src/or
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21966 - in gnunet-java: . src/org/gnunet/statistics src/org/gnunet/util test/org/gnunet/util |
Date: |
Wed, 13 Jun 2012 15:56:49 +0200 |
Author: dold
Date: 2012-06-13 15:56:49 +0200 (Wed, 13 Jun 2012)
New Revision: 21966
Modified:
gnunet-java/ISSUES
gnunet-java/src/org/gnunet/statistics/Statistics.java
gnunet-java/src/org/gnunet/util/Client.java
gnunet-java/src/org/gnunet/util/Connection.java
gnunet-java/src/org/gnunet/util/RequestQueue.java
gnunet-java/src/org/gnunet/util/Server.java
gnunet-java/test/org/gnunet/util/ResolverTest.java
Log:
made some callbacks exception-safe
Modified: gnunet-java/ISSUES
===================================================================
--- gnunet-java/ISSUES 2012-06-13 13:00:13 UTC (rev 21965)
+++ gnunet-java/ISSUES 2012-06-13 13:56:49 UTC (rev 21966)
@@ -140,6 +140,8 @@
* test now run on the cobertura account :)
* see https://gnunet.org/cobertura/
+* needed for testing the server: getting an unused port with java
+
gnunet needs to compiled with --disable-nls to work on the cobertura accout
Modified: gnunet-java/src/org/gnunet/statistics/Statistics.java
===================================================================
--- gnunet-java/src/org/gnunet/statistics/Statistics.java 2012-06-13
13:00:13 UTC (rev 21965)
+++ gnunet-java/src/org/gnunet/statistics/Statistics.java 2012-06-13
13:56:49 UTC (rev 21966)
@@ -171,7 +171,6 @@
}
}
-
private static class TESTRequest extends RequestQueue.Request {
private AbsoluteTime deadline;
Modified: gnunet-java/src/org/gnunet/util/Client.java
===================================================================
--- gnunet-java/src/org/gnunet/util/Client.java 2012-06-13 13:00:13 UTC (rev
21965)
+++ gnunet-java/src/org/gnunet/util/Client.java 2012-06-13 13:56:49 UTC (rev
21966)
@@ -140,26 +140,7 @@
}
}
- /**
- * Send a message to the service and wait for a reply from the service.
- */
- public void transmitAndGetResponse(final GnunetMessage.Body message, final
RelativeTime timeout,
- final boolean autoRetry,
- final MessageReceiver receiver) {
- notifyTransmitReady(timeout, autoRetry, 0, new MessageTransmitter() {
- @Override
- public void transmit(Connection.MessageSink sink) {
- sink.send(message);
- receive(timeout, receiver);
- }
- @Override
- public void handleError() {
- receiver.handleError();
- }
- });
- }
-
public void reconnect() {
if (connection != null) {
connection.disconnect();
Modified: gnunet-java/src/org/gnunet/util/Connection.java
===================================================================
--- gnunet-java/src/org/gnunet/util/Connection.java 2012-06-13 13:00:13 UTC
(rev 21965)
+++ gnunet-java/src/org/gnunet/util/Connection.java 2012-06-13 13:56:49 UTC
(rev 21966)
@@ -94,7 +94,7 @@
* transmitting larger messages.
*/
private ByteBuffer transmitBuffer =
ByteBuffer.allocate(GnunetMessage.Header.SIZE);
- private boolean disconnected=false;
+ private boolean disconnected = false;
private class AddressProbe {
@@ -162,6 +162,8 @@
} else {
UnknownMessageBody b = new UnknownMessageBody();
b.id = msgh.messageType;
+
+ // may throw exception, doesn't matter as it's the last call
receiver.process(b);
}
}
@@ -180,14 +182,20 @@
recvBuffer.position());
connectionChannel.close();
connectionChannel = null;
- receiver.handleError();
- return;
+ try {
+ receiver.handleError();
+ } finally {
+ return;
+ }
}
logger.debug(String.format("read %s bytes", n));
} catch (IOException e) {
logger.error("read failed:", e);
- receiver.handleError();
- return;
+ try {
+ receiver.handleError();
+ } finally {
+ return;
+ }
}
if (recvBuffer.remaining() == 0) {
if (msgh != null) {
@@ -500,7 +508,6 @@
/**
* Call notify once the we are ready to transmit data.
*
- *
* @param size number of bytes to send
* @param timeout after how long should we give up (and call
transmitter.transmit(null))
* @param transmitter the MessageTransmitter object to call once the
client is ready to transmit or
@@ -549,7 +556,7 @@
}
disconnected = true;
- logger.debug(""+this+".disconnect()");
+ logger.debug("" + this + ".disconnect()");
if (nextTransmitHelper != null) {
nextTransmitHelper.cancel();
nextTransmitHelper = null;
Modified: gnunet-java/src/org/gnunet/util/RequestQueue.java
===================================================================
--- gnunet-java/src/org/gnunet/util/RequestQueue.java 2012-06-13 13:00:13 UTC
(rev 21965)
+++ gnunet-java/src/org/gnunet/util/RequestQueue.java 2012-06-13 13:56:49 UTC
(rev 21966)
@@ -126,10 +126,12 @@
public void transmit(Connection.MessageSink sink) {
currentTransmit = null;
- request.transmit(sink);
-
- handleReceive();
- handleNextTransmit();
+ try {
+ request.transmit(sink);
+ } finally {
+ handleReceive();
+ handleNextTransmit();
+ }
}
@Override
@@ -148,10 +150,12 @@
public void process(GnunetMessage.Body msg) {
currentReceive = null;
- receiver.process(msg);
-
- handleNextTransmit();
- handleReceive();
+ try {
+ receiver.process(msg);
+ } finally {
+ handleNextTransmit();
+ handleReceive();
+ }
}
@Override
Modified: gnunet-java/src/org/gnunet/util/Server.java
===================================================================
--- gnunet-java/src/org/gnunet/util/Server.java 2012-06-13 13:00:13 UTC (rev
21965)
+++ gnunet-java/src/org/gnunet/util/Server.java 2012-06-13 13:56:49 UTC (rev
21966)
@@ -95,6 +95,13 @@
currentReceive = connection.receive(RelativeTime.FOREVER, new
MessageReceiver() {
@Override
public void process(GnunetMessage.Body msg) {
+ if (msg instanceof UnknownMessageBody) {
+ if (requireFound) {
+ logger.info("disconnecting client sending
unknown message");
+ disconnect();
+ }
+ // otherwise, just ignore it
+ }
if (receivedMessagehandler == null) {
throw new AssertionError("received message, but no
handler installed");
}
Modified: gnunet-java/test/org/gnunet/util/ResolverTest.java
===================================================================
--- gnunet-java/test/org/gnunet/util/ResolverTest.java 2012-06-13 13:00:13 UTC
(rev 21965)
+++ gnunet-java/test/org/gnunet/util/ResolverTest.java 2012-06-13 13:56:49 UTC
(rev 21966)
@@ -23,6 +23,8 @@
import org.gnunet.testing.TestingSetup;
import org.gnunet.testing.TestingSubsystem;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.net.InetAddress;
@@ -33,6 +35,8 @@
* @author Florian Dold
*/
public class ResolverTest {
+ private static final Logger logger = LoggerFactory
+ .getLogger(ResolverTest.class);
@Test
public void test_resolver() {
final Wrapper<Boolean> finished1 = new Wrapper<Boolean>(true);
@@ -49,7 +53,7 @@
r.resolveHostname("gnunet.org", RelativeTime.FOREVER, new
Resolver.AddressCallback() {
@Override
public void onAddress(InetAddress addr) {
- System.out.println(addr.getHostAddress());
+ logger.info("Hostname resolved to " + addr.getHostAddress());
}
@Override
@@ -65,7 +69,7 @@
r.resolveHostname("gnu.org", RelativeTime.FOREVER, new
Resolver.AddressCallback() {
@Override
public void onAddress(InetAddress addr) {
- System.out.println(addr.getHostAddress());
+ logger.info("Hostname resolved to " + addr.getHostAddress());
}
@Override
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21966 - in gnunet-java: . src/org/gnunet/statistics src/org/gnunet/util test/org/gnunet/util,
gnunet <=