diff --git a/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java b/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java index 44363f2b5dae4cb8bd199dce884999320caf63c6..62a4675fa52ff9decdda54da1c456e4359fc691b 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java @@ -254,9 +254,9 @@ class UDPReceiver { try { //if (_log.shouldLog(Log.INFO)) // _log.info("Before blocking socket.receive on " + System.identityHashCode(packet)); - synchronized (Runner.this) { + //synchronized (Runner.this) { _socket.receive(packet.getPacket()); - } + //} int size = packet.getPacket().getLength(); if (_log.shouldLog(Log.INFO)) _log.info("After blocking socket.receive: packet is " + size + " bytes on " + System.identityHashCode(packet)); diff --git a/router/java/src/net/i2p/router/transport/udp/UDPSender.java b/router/java/src/net/i2p/router/transport/udp/UDPSender.java index 202609fab3f83a524cc0ae1eae4b4a0af9879beb..df017fedfc85c0f399da1e08a67013522a6d2cbd 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPSender.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPSender.java @@ -39,7 +39,7 @@ class UDPSender { _context.statManager().createRateStat("udp.sendQueueFailed", "How often it was unable to add a new packet to the queue", "udp", UDPTransport.RATES); _context.statManager().createRateStat("udp.sendQueueTrimmed", "How many packets were removed from the queue for being too old (duration == remaining)", "udp", UDPTransport.RATES); _context.statManager().createRequiredRateStat("udp.sendPacketSize", "Size of sent packets (bytes)", "udp", UDPTransport.RATES); - _context.statManager().createRateStat("udp.socketSendTime", "How long the actual socket.send took", "udp", UDPTransport.RATES); + //_context.statManager().createRateStat("udp.socketSendTime", "How long the actual socket.send took", "udp", UDPTransport.RATES); _context.statManager().createRateStat("udp.sendBWThrottleTime", "How long the send is blocked by the bandwidth throttle", "udp", UDPTransport.RATES); _context.statManager().createRateStat("udp.sendACKTime", "How long an ACK packet is blocked for (duration == lifetime)", "udp", UDPTransport.RATES); // used in RouterWatchdog @@ -161,8 +161,10 @@ class UDPSender { if (packet == null || !_keepRunning) return 0; int size = 0; int psz = packet.getPacket().getLength(); - if (psz > PeerState.LARGE_MTU) - _log.error("Sending large UDP packet " + psz + " bytes: " + packet); + if (psz > PeerState.LARGE_MTU) { + _log.error("Dropping large UDP packet " + psz + " bytes: " + packet); + return 0; + } _outboundQueue.offer(packet); //size = _outboundQueue.size(); //_context.statManager().addRateData("udp.sendQueueSize", size, lifetime); @@ -214,8 +216,8 @@ class UDPSender { //packet.getPacket().setLength(size); try { - long before = _context.clock().now(); - synchronized (Runner.this) { + //long before = _context.clock().now(); + //synchronized (Runner.this) { // synchronization lets us update safely //_log.debug("Break out datagram for " + packet); DatagramPacket dp = packet.getPacket(); @@ -224,11 +226,12 @@ class UDPSender { _socket.send(dp); //if (_log.shouldLog(Log.DEBUG)) // _log.debug("Just after socket.send of " + packet); - } - long sendTime = _context.clock().now() - before; - _context.statManager().addRateData("udp.socketSendTime", sendTime, packet.getLifetime()); - if (_log.shouldLog(Log.INFO)) - _log.info("Sent the packet " + packet); + //} + //long sendTime = _context.clock().now() - before; + // less than 50 microsec + //_context.statManager().addRateData("udp.socketSendTime", sendTime, packet.getLifetime()); + if (_log.shouldLog(Log.DEBUG)) + _log.debug("Sent the packet " + packet); long throttleTime = afterBW - acquireTime; if (throttleTime > 10) _context.statManager().addRateData("udp.sendBWThrottleTime", throttleTime, acquireTime - packet.getBegin());