diff --git a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java index f1ea1ee9d96f14b064152f92e5d566122ec555c5..af3707ea1cf92358be3178ec5a35453f8e7fe320 100644 --- a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java +++ b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java @@ -315,6 +315,9 @@ class EstablishmentManager { case IB_STATE_CREATED_SENT: case IB_STATE_CONFIRMED_PARTIALLY: case IB_STATE_CONFIRMED_COMPLETELY: + case IB_STATE_TOKEN_REQUEST_RECEIVED: + case IB_STATE_REQUEST_BAD_TOKEN_RECEIVED: + case IB_STATE_RETRY_SENT: // queue it inState.addMessage(msg); if (_log.shouldLog(Log.WARN)) diff --git a/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java b/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java index 8ea9e76ac663fa9fb1cc9da1e903faf008540c62..826d7907e3bbb5243b968cfcbdeadad09a9c492b 100644 --- a/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java +++ b/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java @@ -719,16 +719,6 @@ class PacketBuilder2 { return rv; } - /** - * build intro packets for each of the published introducers - * - * @param emgr only to call emgr.isValid() - * @return empty list on failure - */ - public List<UDPPacket> buildRelayRequest(EstablishmentManager emgr, OutboundEstablishState2 state) { - return null; - } - /** * From Alice to Bob. * In-session. diff --git a/router/java/src/net/i2p/router/transport/udp/PeerState2.java b/router/java/src/net/i2p/router/transport/udp/PeerState2.java index e1f43f338b433736e4c7ec9e4a2ddcd28a8e9dae..d4eea32d1fac9f09e61af0a2cc74650fc2ee22fb 100644 --- a/router/java/src/net/i2p/router/transport/udp/PeerState2.java +++ b/router/java/src/net/i2p/router/transport/udp/PeerState2.java @@ -434,22 +434,30 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback public void gotRelayRequest(byte[] data) { if (!ENABLE_RELAY) return; + // Relay blocks are ACK-eliciting + messagePartiallyReceived(); } public void gotRelayResponse(int status, byte[] data) { if (!ENABLE_RELAY) return; + // Relay blocks are ACK-eliciting + messagePartiallyReceived(); } public void gotRelayIntro(Hash aliceHash, byte[] data) { if (!ENABLE_RELAY) return; + // Relay blocks are ACK-eliciting + messagePartiallyReceived(); } public void gotPeerTest(int msg, int status, Hash h, byte[] data) { if (!ENABLE_PEER_TEST) return; _transport.getPeerTestManager().receiveTest(_remoteHostId, this, msg, status, h, data); + // Peer Test block is ACK-eliciting + messagePartiallyReceived(); } public void gotToken(long token, long expires) {