From 46a03a3ea3c26a65e4428bc9de036a01487aeda3 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Fri, 17 Oct 2003 17:34:54 +0000 Subject: First go at refactoring for PathSpecs --- src/org/noreply/fancydress/type3/Packet.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/org/noreply/fancydress/type3/Packet.java') diff --git a/src/org/noreply/fancydress/type3/Packet.java b/src/org/noreply/fancydress/type3/Packet.java index 7c6f2f1..6a28791 100644 --- a/src/org/noreply/fancydress/type3/Packet.java +++ b/src/org/noreply/fancydress/type3/Packet.java @@ -15,7 +15,7 @@ public class Packet { public Packet( Path path, RoutingDestination address, - Payload payload) + byte[] payload) throws Mix3BadArgumentsChainTooLongException { ForwardLeg leg2 = new ForwardLeg(path.getSecondHalf(), address); @@ -28,7 +28,7 @@ public class Packet { public Packet( HalfPath path, SURB surb, - Payload payload) + byte[] payload) throws Mix3BadArgumentsChainTooLongException { ForwardLeg leg1 = new ForwardLeg(path, surb.getRoute()); @@ -39,11 +39,13 @@ public class Packet { return s.equals(SingleLeg.MAJOR_VERSION + "." + SingleLeg.MINOR_VERSION); } - private void makePacket(ForwardLeg leg1, SingleLeg leg2, Payload payload) { - byte p[] = payload.asOctets(); + private void makePacket(ForwardLeg leg1, SingleLeg leg2, byte[] p) { byte h1[] = leg1.asOctets(); byte h2[] = leg2.asOctets(); + if (p.length != 28*1024) + throw new IllegalArgumentException("Payload needs to be 28 kb long"); + // Phase 1 if (leg2 instanceof SURB) { byte[] k = ((SURB) leg2).getEncryptionKey(); @@ -66,6 +68,9 @@ public class Packet { packet = Util.concat(Util.concat(h1,h2),p); thisRoute = leg1.getRoute(); + + if (packet.length != 32*1024) + throw new Error("packet is not 32k bytes"); } public RoutingForward getRoute() { -- cgit v1.2.3