From 5ec6dca64d9eeba73e5fe50c22a9671b40efade0 Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Tue, 23 Aug 2005 22:43:51 +0000 Subject: [PATCH] 2005-08-23 jrandom * Removed the concept of "no bandwidth limit" - if none is specified, its 16KBps in/out. * Include ack packets in the per-peer cwin throttle (they were part of the bandwidth limit though). * Tweak the SSU cwin operation to get more accurrate estimates under congestions. * SSU improvements to resend more efficiently. * Added a basic scheduler to eepget to fetch multiple files sequentially. --- .../net/i2p/router/transport/udp/ACKSender.java | 2 ++ .../i2p/router/transport/udp/UDPTransport.java | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/router/java/src/net/i2p/router/transport/udp/ACKSender.java b/router/java/src/net/i2p/router/transport/udp/ACKSender.java index 3dd2386c16..d34d0cfa55 100644 --- a/router/java/src/net/i2p/router/transport/udp/ACKSender.java +++ b/router/java/src/net/i2p/router/transport/udp/ACKSender.java @@ -109,6 +109,8 @@ public class ACKSender implements Runnable { ack.markType(1); if (_log.shouldLog(Log.INFO)) _log.info("Sending ACK for " + ackBitfields); + boolean ok = peer.allocateSendingBytes(ack.getPacket().getLength(), true); + // ignore whether its ok or not, its a bloody ack. this should be fixed, probably. _transport.send(ack); if ( (wanted > 0) && (wanted <= peer.getWantedACKSendSince()) ) { diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index 12495618ea..9dcc8af137 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -884,7 +884,12 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority buf.append(formatKBps(peer.getReceiveBps())); buf.append("KBps/"); buf.append(formatKBps(peer.getSendBps())); - buf.append("KBps</td>"); + buf.append("KBps "); + //buf.append(formatKBps(peer.getReceiveACKBps())); + //buf.append("KBps/"); + //buf.append(formatKBps(peer.getSendACKBps())); + //buf.append("KBps "); + buf.append("</td>"); buf.append("<td>"); buf.append(DataHelper.formatDuration(now-peer.getKeyEstablishedTime())); @@ -923,10 +928,15 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority buf.append(peer.getPacketsReceived()); buf.append("</td>"); - double sendLostPct = (double)peer.getPacketsRetransmitted()/(double)PeerState.RETRANSMISSION_PERIOD_WIDTH; + double sent = (double)peer.getPacketsPeriodTransmitted(); + double sendLostPct = 0; + if (sent > 0) + sendLostPct = (double)peer.getPacketsRetransmitted()/(sent); + buf.append("<td>"); //buf.append(formatPct(sendLostPct)); - buf.append(peer.getPacketRetransmissionRate()); + buf.append(peer.getPacketsRetransmitted()); // + "/" + peer.getPacketsPeriodRetransmitted() + "/" + sent); + //buf.append(peer.getPacketRetransmissionRate()); buf.append("</td>"); double recvDupPct = (double)peer.getPacketsReceivedDuplicate()/(double)peer.getPacketsReceived(); -- GitLab