[freenet-cvs] r15548 - in trunk/freenet/src/freenet: io/xfer node node/updater

2007-10-24 Thread [email protected]
Author: toad
Date: 2007-10-24 18:30:32 + (Wed, 24 Oct 2007)
New Revision: 15548

Modified:
   trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
   trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
Log:
Support sending a bulk transfer without necessarily expecting a response. Will 
use this for back compat in sending noderefs as bulk transfers.
Javadocs.

Modified: trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java
===
--- trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java  2007-10-24 
18:16:29 UTC (rev 15547)
+++ trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java  2007-10-24 
18:30:32 UTC (rev 15548)
@@ -42,12 +42,24 @@
private boolean sentCancel;
private boolean finished;
final int packetSize;
+   /** Not expecting a response? */
+   final boolean noWait;

-   public BulkTransmitter(PartiallyReceivedBulk prb, PeerContext peer, 
long uid, DoubleTokenBucket masterThrottle) throws DisconnectedException {
+   /**
+* Create a bulk data transmitter.
+* @param prb The PartiallyReceivedBulk containing the file we want to 
send, or the part of it that we have so far.
+* @param peer The peer we want to send it to.
+* @param uid The unique identifier for this data transfer
+* @param masterThrottle The overall output throttle
+* @param noWait If true, don't wait for an FNPBulkReceivedAll, return 
as soon as we've sent everything.
+* @throws DisconnectedException If the peer we are trying to send to 
becomes disconnected.
+*/
+   public BulkTransmitter(PartiallyReceivedBulk prb, PeerContext peer, 
long uid, DoubleTokenBucket masterThrottle, boolean noWait) throws 
DisconnectedException {
this.prb = prb;
this.peer = peer;
this.uid = uid;
this.masterThrottle = masterThrottle;
+   this.noWait = noWait;
peerBootID = peer.getBootID();
// Need to sync on prb while doing both operations, to avoid 
race condition.
// Specifically, we must not get calls to blockReceived() until 
blocksNotSentButPresent
@@ -167,6 +179,10 @@
blockNo = blocksNotSentButPresent.firstOne();
}
if(blockNo < 0) {
+   if(noWait && prb.hasWholeFile()) {
+   completed();
+   return true;
+   }
// Wait for a packet, BulkReceivedAll or 
BulkReceiveAborted
synchronized(this) {
try {

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-10-24 18:16:29 UTC 
(rev 15547)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-10-24 18:30:32 UTC 
(rev 15548)
@@ -867,7 +867,7 @@

public void send() throws DisconnectedException {
prb = new PartiallyReceivedBulk(node.usm, size, 
Node.PACKET_SIZE, data, true);
-   transmitter = new BulkTransmitter(prb, 
DarknetPeerNode.this, uid, node.outputThrottle);
+   transmitter = new BulkTransmitter(prb, 
DarknetPeerNode.this, uid, node.outputThrottle, false);
if(logMINOR)
Logger.minor(this, "Sending "+uid);
node.executor.execute(new Runnable() {

Modified: trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===
--- trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
2007-10-24 18:16:29 UTC (rev 15547)
+++ trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
2007-10-24 18:30:32 UTC (rev 15548)
@@ -505,7 +505,7 @@

final BulkTransmitter bt;
try {
-   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle);
+   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle, false);
} catch (DisconnectedException e) {
Logger.error(this, "Peer "+source+" asked us for the 
blob file for the revocation key, then disconnected: "+e, e);
return true;
@@ -878,7 +878,7 @@

final BulkTransmitter bt;
try {
-   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle);
+   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle, fal

[freenet-cvs] r15548 - in trunk/freenet/src/freenet: io/xfer node node/updater

2007-10-24 Thread toad
Author: toad
Date: 2007-10-24 18:30:32 + (Wed, 24 Oct 2007)
New Revision: 15548

Modified:
   trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
   trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
Log:
Support sending a bulk transfer without necessarily expecting a response. Will 
use this for back compat in sending noderefs as bulk transfers.
Javadocs.

Modified: trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java
===
--- trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java  2007-10-24 
18:16:29 UTC (rev 15547)
+++ trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java  2007-10-24 
18:30:32 UTC (rev 15548)
@@ -42,12 +42,24 @@
private boolean sentCancel;
private boolean finished;
final int packetSize;
+   /** Not expecting a response? */
+   final boolean noWait;

-   public BulkTransmitter(PartiallyReceivedBulk prb, PeerContext peer, 
long uid, DoubleTokenBucket masterThrottle) throws DisconnectedException {
+   /**
+* Create a bulk data transmitter.
+* @param prb The PartiallyReceivedBulk containing the file we want to 
send, or the part of it that we have so far.
+* @param peer The peer we want to send it to.
+* @param uid The unique identifier for this data transfer
+* @param masterThrottle The overall output throttle
+* @param noWait If true, don't wait for an FNPBulkReceivedAll, return 
as soon as we've sent everything.
+* @throws DisconnectedException If the peer we are trying to send to 
becomes disconnected.
+*/
+   public BulkTransmitter(PartiallyReceivedBulk prb, PeerContext peer, 
long uid, DoubleTokenBucket masterThrottle, boolean noWait) throws 
DisconnectedException {
this.prb = prb;
this.peer = peer;
this.uid = uid;
this.masterThrottle = masterThrottle;
+   this.noWait = noWait;
peerBootID = peer.getBootID();
// Need to sync on prb while doing both operations, to avoid 
race condition.
// Specifically, we must not get calls to blockReceived() until 
blocksNotSentButPresent
@@ -167,6 +179,10 @@
blockNo = blocksNotSentButPresent.firstOne();
}
if(blockNo < 0) {
+   if(noWait && prb.hasWholeFile()) {
+   completed();
+   return true;
+   }
// Wait for a packet, BulkReceivedAll or 
BulkReceiveAborted
synchronized(this) {
try {

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-10-24 18:16:29 UTC 
(rev 15547)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-10-24 18:30:32 UTC 
(rev 15548)
@@ -867,7 +867,7 @@
 
public void send() throws DisconnectedException {
prb = new PartiallyReceivedBulk(node.usm, size, 
Node.PACKET_SIZE, data, true);
-   transmitter = new BulkTransmitter(prb, 
DarknetPeerNode.this, uid, node.outputThrottle);
+   transmitter = new BulkTransmitter(prb, 
DarknetPeerNode.this, uid, node.outputThrottle, false);
if(logMINOR)
Logger.minor(this, "Sending "+uid);
node.executor.execute(new Runnable() {

Modified: trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===
--- trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
2007-10-24 18:16:29 UTC (rev 15547)
+++ trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
2007-10-24 18:30:32 UTC (rev 15548)
@@ -505,7 +505,7 @@

final BulkTransmitter bt;
try {
-   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle);
+   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle, false);
} catch (DisconnectedException e) {
Logger.error(this, "Peer "+source+" asked us for the 
blob file for the revocation key, then disconnected: "+e, e);
return true;
@@ -878,7 +878,7 @@

final BulkTransmitter bt;
try {
-   bt = new BulkTransmitter(prb, source, uid, 
updateManager.node.outputThrottle);
+   bt = new BulkTransmitter(prb, source, uid