[freenet-cvs] r16962 - trunk/freenet/src/freenet/io/xfer

robert at freenetproject.org robert at freenetproject.org
Tue Jan 8 00:46:35 UTC 2008


Author: robert
Date: 2008-01-08 00:46:35 +0000 (Tue, 08 Jan 2008)
New Revision: 16962

Modified:
   trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
   trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
Log:
trivial: comments, logging, readability


Modified: trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockReceiver.java	2008-01-07 20:56:43 UTC (rev 16961)
+++ trunk/freenet/src/freenet/io/xfer/BlockReceiver.java	2008-01-08 00:46:35 UTC (rev 16962)
@@ -66,6 +66,7 @@
 	
 	public byte[] receive() throws RetrievalException {
 		int consecutiveMissingPacketReports = 0;
+		boolean logMINOR=Logger.shouldLog(Logger.MINOR, this);
 		try {
 		while (!_prb.allReceived()) {
 			Message m1;
@@ -80,7 +81,7 @@
                 _prb.abort(RetrievalException.SENDER_DIED, "Disconnected during receive");
                 throw new RetrievalException(RetrievalException.SENDER_DISCONNECTED);
             }
-            if(Logger.shouldLog(Logger.MINOR, this))
+            if(logMINOR)
             	Logger.minor(this, "Received "+m1);
             if ((m1 != null) && m1.getSpec().equals(DMT.sendAborted)) {
 				_prb.abort(m1.getInt(DMT.REASON), m1.getString(DMT.DESCRIPTION));
@@ -112,7 +113,7 @@
 						}
 					}
 				}
-				if(Logger.shouldLog(Logger.MINOR, this))
+				if(logMINOR)
 					Logger.minor(this, "Missing: "+missing.size());
 				if (missing.size() > 0) {
 					Message mn = DMT.createMissingPacketNotification(_uid, missing);

Modified: trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java	2008-01-07 20:56:43 UTC (rev 16961)
+++ trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java	2008-01-08 00:46:35 UTC (rev 16962)
@@ -84,9 +84,13 @@
 					try {
 						while (true) {
 							synchronized(_senderThread) {
-								if(_unsent.size() != 0) break;
+								if(_unsent.size() != 0) {
+									timeAllSent = -1;
+									break;
+								}
 								// No unsent packets
 								if(getNumSent() == _prb.getNumPackets()) {
+									//No unreceived packets
 									if(Logger.shouldLog(Logger.MINOR, this))
 										Logger.minor(this, "Sent all blocks, none unsent");
 									if(timeAllSent <= 0)
@@ -96,7 +100,6 @@
 								_senderThread.wait(10*1000);
 							}
 						}
-						timeAllSent = -1;
 					} catch (InterruptedException e) {
 					} catch (AbortedException e) {
 						synchronized(_senderThread) {
@@ -136,9 +139,8 @@
 				}
 			}
 
-			/** @return True if _sendComplete */
 			private void delay(long startCycleTime) {
-				
+				//FIXME: startCycleTime is not used in this function, why is it passed in?
 				long startThrottle = System.currentTimeMillis();
 
 				// Get the current inter-packet delay
@@ -164,6 +166,7 @@
 					int x = (int) (Math.min(l, 120*1000));
 					if(x > 0) {
 						try {
+							//FIXME: if the senderThread sleeps here for two minutes, that will timeout the receiver, no? Should this be a wait()?
 							Thread.sleep(x);
 						} catch (InterruptedException e) {
 							// Ignore
@@ -239,6 +242,7 @@
 					return false;
 				if (msg == null) {
 					long now = System.currentTimeMillis();
+					//SEND_TIMEOUT (one minute) after all packets have been transmitted, terminate the send.
 					if((timeAllSent > 0) && ((now - timeAllSent) > SEND_TIMEOUT) &&
 							(getNumSent() == _prb.getNumPackets())) {
 						synchronized(_senderThread) {
@@ -280,9 +284,8 @@
 						_senderThread.notifyAll();
 					}
 					return false;
-				} else if(_sendComplete) {
-					// Terminated abnormally
-					return false;
+				} else {
+					Logger.error(this, "Transmitter received unknown message type: "+msg.getSpec().getName());
 				}
 			}
 		} catch (AbortedException e) {




More information about the cvs mailing list