Author: toad
Date: 2007-05-30 20:32:32 +0000 (Wed, 30 May 2007)
New Revision: 13398
Added:
trunk/freenet/src/freenet/io/comm/AsyncMessageCallback.java
trunk/freenet/src/freenet/io/comm/ByteCounter.java
Removed:
trunk/freenet/src/freenet/node/AsyncMessageCallback.java
trunk/freenet/src/freenet/node/ByteCounter.java
Modified:
trunk/freenet/src/freenet/io/comm/DummyPeerContext.java
trunk/freenet/src/freenet/io/comm/PeerContext.java
trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
trunk/freenet/src/freenet/node/CHKInsertSender.java
trunk/freenet/src/freenet/node/InsertHandler.java
trunk/freenet/src/freenet/node/KeyTracker.java
trunk/freenet/src/freenet/node/MessageItem.java
trunk/freenet/src/freenet/node/OutgoingPacketMangler.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/RequestHandler.java
trunk/freenet/src/freenet/node/RequestSender.java
trunk/freenet/src/freenet/node/ResendPacketItem.java
trunk/freenet/src/freenet/node/SSKInsertHandler.java
trunk/freenet/src/freenet/node/SSKInsertSender.java
trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java
trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMap.java
trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMapElement.java
Log:
Move AsyncMessageCallback, ByteCounter to io.comm.
Copied: trunk/freenet/src/freenet/io/comm/AsyncMessageCallback.java (from rev
13371, trunk/freenet/src/freenet/node/AsyncMessageCallback.java)
===================================================================
--- trunk/freenet/src/freenet/io/comm/AsyncMessageCallback.java
(rev 0)
+++ trunk/freenet/src/freenet/io/comm/AsyncMessageCallback.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -0,0 +1,31 @@
+/* This code is part of Freenet. It is distributed under the GNU General
+ * Public License, version 2 (or at your option any later version). See
+ * http://www.gnu.org/ for further details of the GPL. */
+package freenet.io.comm;
+
+/**
+ * Callback interface for async message sending.
+ */
+public interface AsyncMessageCallback {
+
+ /** Called when the packet actually leaves the node.
+ * This DOES NOT MEAN that it has been successfully recieved
+ * by the partner node (on a lossy transport).
+ */
+ public void sent();
+
+ /** Called when the packet is actually acknowledged by the
+ * other node. This is the end of the transaction. On a
+ * non-lossy transport this may be called immediately after
+ * sent().
+ */
+ public void acknowledged();
+
+ /** Called if the node is disconnected while the packet is
+ * queued, or after it has been sent. Terminal.
+ */
+ public void disconnected();
+
+ /** Called if the packet is lost due to an internal error. */
+ public void fatalError();
+}
Copied: trunk/freenet/src/freenet/io/comm/ByteCounter.java (from rev 13371,
trunk/freenet/src/freenet/node/ByteCounter.java)
===================================================================
--- trunk/freenet/src/freenet/io/comm/ByteCounter.java
(rev 0)
+++ trunk/freenet/src/freenet/io/comm/ByteCounter.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -0,0 +1,18 @@
+/* This code is part of Freenet. It is distributed under the GNU General
+ * Public License, version 2 (or at your option any later version). See
+ * http://www.gnu.org/ for further details of the GPL. */
+package freenet.io.comm;
+
+/**
+ * Interface for something which counts bytes.
+ */
+public interface ByteCounter {
+
+ public void sentBytes(int x);
+
+ public void receivedBytes(int x);
+
+ /** Sent payload - only include the number of bytes of actual payload
i.e. data from the user's point of view, as opposed to overhead */
+ public void sentPayload(int x);
+
+}
Modified: trunk/freenet/src/freenet/io/comm/DummyPeerContext.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/DummyPeerContext.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/io/comm/DummyPeerContext.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -12,13 +12,15 @@
public class DummyPeerContext implements PeerContext {
private final Peer peer;
+ private final UdpSocketManager usm;
public Peer getPeer() {
return peer;
}
- DummyPeerContext(Peer p) {
+ DummyPeerContext(Peer p, UdpSocketManager usm) {
peer = p;
+ this.usm = usm;
}
public void forceDisconnect() {
@@ -40,4 +42,13 @@
public int getVersionNumber() {
return -1;
}
+
+ public void sendAsync(Message msg, AsyncMessageCallback cb, int
alreadyReportedBytes, ByteCounter ctr) throws NotConnectedException {
+ usm.send(this, msg, ctr);
+ try {
+ cb.sent();
+ } catch (Throwable t) {
+ // FIXME do something with it
+ }
+ }
}
Modified: trunk/freenet/src/freenet/io/comm/PeerContext.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/PeerContext.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/io/comm/PeerContext.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -24,4 +24,7 @@
/** Peer version, if this is supported, else -1 */
int getVersionNumber();
+
+ /** Send a message to the node */
+ public void sendAsync(Message msg, AsyncMessageCallback cb, int
alreadyReportedBytes, ByteCounter ctr) throws NotConnectedException;
}
Modified: trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/UdpSocketManager.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/io/comm/UdpSocketManager.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -25,7 +25,6 @@
import org.tanukisoftware.wrapper.WrapperManager;
import freenet.io.comm.Peer.LocalAddressException;
-import freenet.node.ByteCounter;
import freenet.node.LoggingConfigHandler;
import freenet.node.Node;
import freenet.node.PeerNode;
@@ -260,7 +259,7 @@
} else {
// Create a bogus context since no filter
Message m = decodeSingleMessage(data, offset,
length,
- new DummyPeerContext(peer), 0);
+ new DummyPeerContext(peer,
this), 0);
if (m != null) {
checkFilters(m);
}
Modified: trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockReceiver.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/io/xfer/BlockReceiver.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -21,6 +21,7 @@
import java.util.HashMap;
import java.util.LinkedList;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
@@ -29,7 +30,6 @@
import freenet.io.comm.PeerContext;
import freenet.io.comm.RetrievalException;
import freenet.io.comm.UdpSocketManager;
-import freenet.node.ByteCounter;
import freenet.support.BitArray;
import freenet.support.Buffer;
import freenet.support.Logger;
Modified: trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -22,6 +22,7 @@
import java.util.LinkedList;
import java.util.NoSuchElementException;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
@@ -29,7 +30,6 @@
import freenet.io.comm.NotConnectedException;
import freenet.io.comm.PeerContext;
import freenet.io.comm.UdpSocketManager;
-import freenet.node.ByteCounter;
import freenet.node.FNPPacketMangler;
import freenet.node.PeerNode;
import freenet.support.BitArray;
Deleted: trunk/freenet/src/freenet/node/AsyncMessageCallback.java
===================================================================
--- trunk/freenet/src/freenet/node/AsyncMessageCallback.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/node/AsyncMessageCallback.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -1,31 +0,0 @@
-/* This code is part of Freenet. It is distributed under the GNU General
- * Public License, version 2 (or at your option any later version). See
- * http://www.gnu.org/ for further details of the GPL. */
-package freenet.node;
-
-/**
- * Callback interface for async message sending.
- */
-public interface AsyncMessageCallback {
-
- /** Called when the packet actually leaves the node.
- * This DOES NOT MEAN that it has been successfully recieved
- * by the partner node (on a lossy transport).
- */
- public void sent();
-
- /** Called when the packet is actually acknowledged by the
- * other node. This is the end of the transaction. On a
- * non-lossy transport this may be called immediately after
- * sent().
- */
- public void acknowledged();
-
- /** Called if the node is disconnected while the packet is
- * queued, or after it has been sent. Terminal.
- */
- public void disconnected();
-
- /** Called if the packet is lost due to an internal error. */
- public void fatalError();
-}
Deleted: trunk/freenet/src/freenet/node/ByteCounter.java
===================================================================
--- trunk/freenet/src/freenet/node/ByteCounter.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/ByteCounter.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -1,18 +0,0 @@
-/* This code is part of Freenet. It is distributed under the GNU General
- * Public License, version 2 (or at your option any later version). See
- * http://www.gnu.org/ for further details of the GPL. */
-package freenet.node;
-
-/**
- * Interface for something which counts bytes.
- */
-public interface ByteCounter {
-
- public void sentBytes(int x);
-
- public void receivedBytes(int x);
-
- /** Sent payload - only include the number of bytes of actual payload
i.e. data from the user's point of view, as opposed to overhead */
- public void sentPayload(int x);
-
-}
Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -6,6 +6,7 @@
import java.util.HashSet;
import java.util.Vector;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/InsertHandler.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -3,6 +3,7 @@
* http://www.gnu.org/ for further details of the GPL. */
package freenet.node;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
Modified: trunk/freenet/src/freenet/node/KeyTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/KeyTracker.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/KeyTracker.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -9,6 +9,7 @@
import java.util.Vector;
import freenet.crypt.BlockCipher;
+import freenet.io.comm.AsyncMessageCallback;
import freenet.io.comm.NotConnectedException;
import freenet.io.xfer.PacketThrottle;
import freenet.support.DoublyLinkedList;
Modified: trunk/freenet/src/freenet/node/MessageItem.java
===================================================================
--- trunk/freenet/src/freenet/node/MessageItem.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/MessageItem.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -3,6 +3,8 @@
* http://www.gnu.org/ for further details of the GPL. */
package freenet.node;
+import freenet.io.comm.AsyncMessageCallback;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.Message;
import freenet.support.Logger;
Modified: trunk/freenet/src/freenet/node/OutgoingPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/OutgoingPacketMangler.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/node/OutgoingPacketMangler.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -3,6 +3,7 @@
* http://www.gnu.org/ for further details of the GPL. */
package freenet.node;
+import freenet.io.comm.AsyncMessageCallback;
import freenet.io.comm.NotConnectedException;
import freenet.io.comm.PeerContext;
import freenet.support.WouldBlockException;
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -39,6 +39,8 @@
import freenet.crypt.SHA256;
import freenet.crypt.UnsupportedCipherException;
import freenet.crypt.ciphers.Rijndael;
+import freenet.io.comm.AsyncMessageCallback;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.FreenetInetAddress;
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -4,6 +4,7 @@
package freenet.node;
import freenet.crypt.DSAPublicKey;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.Message;
import freenet.io.xfer.BlockTransmitter;
Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/RequestSender.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -7,6 +7,7 @@
import freenet.crypt.CryptFormatException;
import freenet.crypt.DSAPublicKey;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
Modified: trunk/freenet/src/freenet/node/ResendPacketItem.java
===================================================================
--- trunk/freenet/src/freenet/node/ResendPacketItem.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/node/ResendPacketItem.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -3,6 +3,8 @@
* http://www.gnu.org/ for further details of the GPL. */
package freenet.node;
+import freenet.io.comm.AsyncMessageCallback;
+
/**
* A packet to be resent. Includes a packet number, and the
* message as byte[].
Modified: trunk/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertHandler.java 2007-05-30
20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/node/SSKInsertHandler.java 2007-05-30
20:32:32 UTC (rev 13398)
@@ -5,6 +5,7 @@
import freenet.crypt.CryptFormatException;
import freenet.crypt.DSAPublicKey;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
Modified: trunk/freenet/src/freenet/node/SSKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertSender.java 2007-05-30 20:22:33 UTC
(rev 13397)
+++ trunk/freenet/src/freenet/node/SSKInsertSender.java 2007-05-30 20:32:32 UTC
(rev 13398)
@@ -8,6 +8,7 @@
import freenet.crypt.DSAPublicKey;
import freenet.crypt.SHA256;
+import freenet.io.comm.ByteCounter;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.Message;
Modified: trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java
===================================================================
--- trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java
2007-05-30 20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java
2007-05-30 20:32:32 UTC (rev 13398)
@@ -3,6 +3,7 @@
* http://www.gnu.org/ for further details of the GPL. */
package freenet.node;
+import freenet.io.comm.AsyncMessageCallback;
import freenet.io.comm.Message;
import freenet.io.comm.NotConnectedException;
import freenet.support.Logger;
Modified: trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMap.java
===================================================================
--- trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMap.java
2007-05-30 20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMap.java
2007-05-30 20:32:32 UTC (rev 13398)
@@ -3,7 +3,7 @@
import java.util.HashMap;
import java.util.Iterator;
-import freenet.node.AsyncMessageCallback;
+import freenet.io.comm.AsyncMessageCallback;
/**
* @author amphibian
Modified:
trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMapElement.java
===================================================================
--- trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMapElement.java
2007-05-30 20:22:33 UTC (rev 13397)
+++ trunk/freenet/src/freenet/support/LimitedRangeIntByteArrayMapElement.java
2007-05-30 20:32:32 UTC (rev 13398)
@@ -1,6 +1,6 @@
package freenet.support;
-import freenet.node.AsyncMessageCallback;
+import freenet.io.comm.AsyncMessageCallback;
public class LimitedRangeIntByteArrayMapElement {