Don't expire outgoing piece messages, since we no longer prefetch the data

This commit is contained in:
zzz
2011-01-10 17:49:00 +00:00
parent 6670209cb3
commit 1ae6c28592
2 changed files with 13 additions and 8 deletions

View File

@ -68,7 +68,8 @@ class Message
// Used to do deferred fetch of data // Used to do deferred fetch of data
DataLoader dataLoader; DataLoader dataLoader;
SimpleTimer.TimedEvent expireEvent; // now unused
//SimpleTimer.TimedEvent expireEvent;
/** Utility method for sending a message through a DataStream. */ /** Utility method for sending a message through a DataStream. */
void sendMessage(DataOutputStream dos) throws IOException void sendMessage(DataOutputStream dos) throws IOException

View File

@ -29,8 +29,8 @@ import java.util.List;
import net.i2p.I2PAppContext; import net.i2p.I2PAppContext;
import net.i2p.util.I2PAppThread; import net.i2p.util.I2PAppThread;
import net.i2p.util.Log; import net.i2p.util.Log;
import net.i2p.util.SimpleScheduler; //import net.i2p.util.SimpleScheduler;
import net.i2p.util.SimpleTimer; //import net.i2p.util.SimpleTimer;
class PeerConnectionOut implements Runnable class PeerConnectionOut implements Runnable
{ {
@ -124,27 +124,27 @@ class PeerConnectionOut implements Runnable
{ {
if (state.choking) { if (state.choking) {
it.remove(); it.remove();
SimpleTimer.getInstance().removeEvent(nm.expireEvent); //SimpleTimer.getInstance().removeEvent(nm.expireEvent);
} }
nm = null; nm = null;
} }
else if (nm.type == Message.REQUEST && state.choked) else if (nm.type == Message.REQUEST && state.choked)
{ {
it.remove(); it.remove();
SimpleTimer.getInstance().removeEvent(nm.expireEvent); //SimpleTimer.getInstance().removeEvent(nm.expireEvent);
nm = null; nm = null;
} }
if (m == null && nm != null) if (m == null && nm != null)
{ {
m = nm; m = nm;
SimpleTimer.getInstance().removeEvent(nm.expireEvent); //SimpleTimer.getInstance().removeEvent(nm.expireEvent);
it.remove(); it.remove();
} }
} }
if (m == null && !sendQueue.isEmpty()) { if (m == null && !sendQueue.isEmpty()) {
m = (Message)sendQueue.remove(0); m = (Message)sendQueue.remove(0);
SimpleTimer.getInstance().removeEvent(m.expireEvent); //SimpleTimer.getInstance().removeEvent(m.expireEvent);
} }
} }
} }
@ -241,6 +241,8 @@ class PeerConnectionOut implements Runnable
/** remove messages not sent in 3m */ /** remove messages not sent in 3m */
private static final int SEND_TIMEOUT = 3*60*1000; private static final int SEND_TIMEOUT = 3*60*1000;
/*****
private class RemoveTooSlow implements SimpleTimer.TimedEvent { private class RemoveTooSlow implements SimpleTimer.TimedEvent {
private Message _m; private Message _m;
public RemoveTooSlow(Message m) { public RemoveTooSlow(Message m) {
@ -258,6 +260,7 @@ class PeerConnectionOut implements Runnable
_log.info("Took too long to send " + _m + " to " + peer); _log.info("Took too long to send " + _m + " to " + peer);
} }
} }
*****/
/** /**
* Removes a particular message type from the queue. * Removes a particular message type from the queue.
@ -474,7 +477,8 @@ class PeerConnectionOut implements Runnable
m.off = 0; m.off = 0;
m.len = length; m.len = length;
// since we have the data already loaded, queue a timeout to remove it // since we have the data already loaded, queue a timeout to remove it
SimpleScheduler.getInstance().addEvent(new RemoveTooSlow(m), SEND_TIMEOUT); // no longer prefetched
//SimpleScheduler.getInstance().addEvent(new RemoveTooSlow(m), SEND_TIMEOUT);
addMessage(m); addMessage(m);
} }