Author: toad
Date: 2008-03-19 16:40:07 +0000 (Wed, 19 Mar 2008)
New Revision: 18612

Modified:
   trunk/freenet/src/freenet/node/NodeDispatcher.java
   trunk/freenet/src/freenet/node/SSKInsertHandler.java
Log:
Factor the message parsing back into NodeDispatcher

Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2008-03-19 16:37:19 UTC 
(rev 18611)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2008-03-19 16:40:07 UTC 
(rev 18612)
@@ -389,7 +389,11 @@
                }
                long now = System.currentTimeMillis();
                if(m.getSpec().equals(DMT.FNPSSKInsertRequest)) {
-                       SSKInsertHandler rh = new SSKInsertHandler(m, source, 
id, node, now);
+                       NodeSSK key = (NodeSSK) 
m.getObject(DMT.FREENET_ROUTING_KEY);
+               byte[] data = ((ShortBuffer) m.getObject(DMT.DATA)).getData();
+               byte[] headers = ((ShortBuffer) 
m.getObject(DMT.BLOCK_HEADERS)).getData();
+               short htl = m.getShort(DMT.HTL);
+                       SSKInsertHandler rh = new SSKInsertHandler(m, key, 
data, headers, htl, source, id, node, now);
                        node.executor.execute(rh, "SSKInsertHandler for "+id+" 
on "+node.getDarknetPortNumber());
                } else {
                        CHKInsertHandler rh = new CHKInsertHandler(m, source, 
id, node, now);

Modified: trunk/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertHandler.java        2008-03-19 
16:37:19 UTC (rev 18611)
+++ trunk/freenet/src/freenet/node/SSKInsertHandler.java        2008-03-19 
16:40:07 UTC (rev 18612)
@@ -44,19 +44,17 @@
     private byte[] headers;
     private boolean canCommit;

-    SSKInsertHandler(Message req, PeerNode source, long id, Node node, long 
startTime) {
+    SSKInsertHandler(Message req, NodeSSK key, byte[] data, byte[] headers, 
short htl, PeerNode source, long id, Node node, long startTime) {
         this.req = req;
         this.node = node;
         this.uid = id;
         this.source = source;
         this.startTime = startTime;
-        key = (NodeSSK) req.getObject(DMT.FREENET_ROUTING_KEY);
-        htl = req.getShort(DMT.HTL);
+        this.key = key;
+        this.htl = htl;
         if(htl <= 0) htl = 1;
         byte[] pubKeyHash = key.getPubKeyHash();
         pubKey = node.getKey(pubKeyHash);
-        data = ((ShortBuffer) req.getObject(DMT.DATA)).getData();
-        headers = ((ShortBuffer) req.getObject(DMT.BLOCK_HEADERS)).getData();
         canCommit = false;
         logMINOR = Logger.shouldLog(Logger.MINOR, this);
         receivedBytes(req.receivedByteCount());


Reply via email to