[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r19433 - in gnunet-java/src/org/gnunet: construct util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r19433 - in gnunet-java/src/org/gnunet: construct util |
Date: |
Thu, 26 Jan 2012 14:17:38 +0100 |
Author: dold
Date: 2012-01-26 14:17:37 +0100 (Thu, 26 Jan 2012)
New Revision: 19433
Modified:
gnunet-java/src/org/gnunet/construct/Construct.java
gnunet-java/src/org/gnunet/util/Resolver.java
Log:
message unions now used in resolver
Modified: gnunet-java/src/org/gnunet/construct/Construct.java
===================================================================
--- gnunet-java/src/org/gnunet/construct/Construct.java 2012-01-26 13:12:03 UTC
(rev 19432)
+++ gnunet-java/src/org/gnunet/construct/Construct.java 2012-01-26 13:17:37 UTC
(rev 19433)
@@ -217,10 +217,13 @@
List<Field> old_path = new ArrayList<Field>(path);
path.add(field);
+
+ Class old_c = c;
Parser p = getParser(ct, this);
path = old_path;
+ c = old_c;
parser = new NestedParser(p, new LinkedList<Field>(frameSizePath),
n.optional(), old_f);
}
Modified: gnunet-java/src/org/gnunet/util/Resolver.java
===================================================================
--- gnunet-java/src/org/gnunet/util/Resolver.java 2012-01-26 13:12:03 UTC
(rev 19432)
+++ gnunet-java/src/org/gnunet/util/Resolver.java 2012-01-26 13:17:37 UTC
(rev 19433)
@@ -37,11 +37,29 @@
public int direction;
@UInt32
public int domain;
+
+ @Union(tag="direction", optional = true)
+ public AddressUnion addr;
+ }
+
+ public static interface AddressUnion extends MessageUnion {}
+
+ @UnionCase(GetMessage.DIRECTION_GET_IP)
+ public static class TextualAddress implements AddressUnion {
+ @ZeroTerminatedString
+ public String addr;
+ }
+
+
+ @UnionCase(GetMessage.DIRECTION_GET_NAME)
+ public static class NumericAddress implements AddressUnion {
@ByteFill
public byte[] addr;
}
+
+
@MessageId(ResolverResponse.MSG_ID)
public static class ResolverResponse implements Message {
final static int MSG_ID = 5;
@@ -220,8 +238,11 @@
throw new RuntimeException("invalid InetAddress");
}
- gmsg.addr = Arrays.copyOf(addr, 16);
+ NumericAddress nAddr = new NumericAddress();
+ nAddr.addr = Arrays.copyOf(addr, 16);
+ gmsg.addr = nAddr;
+
gmsg.header.messageSize = Construct.getSize(gmsg);
@@ -277,10 +298,12 @@
req.header.messageType = GetMessage.MSG_ID;
req.direction = GetMessage.DIRECTION_GET_IP;
req.domain = GetMessage.AF_UNSPEC;
- byte[] addr = hostname.getBytes();
- // add 0-byte
- req.addr = Arrays.copyOf(addr, addr.length + 1);
+ TextualAddress textAddr = new TextualAddress();
+ textAddr.addr = hostname;
+
+ req.addr = textAddr;
+
req.header.messageSize = Construct.getSize(req);
logger.debug("" + req.header.messageSize);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r19433 - in gnunet-java/src/org/gnunet: construct util,
gnunet <=