forked from I2P_Developers/i2p.i2p
Transport: SSU1 removal part 11/n (PacketBuilder)
and unused PacketHandler args
This commit is contained in:
@@ -7,31 +7,6 @@ import net.i2p.router.OutNetMessage;
|
||||
*/
|
||||
class PacketBuilder {
|
||||
|
||||
/**
|
||||
* For debugging and stats only - does not go out on the wire.
|
||||
* These are chosen to be higher than the highest I2NP message type,
|
||||
* as a data packet is set to the underlying I2NP message type.
|
||||
*/
|
||||
static final int TYPE_FIRST = 42;
|
||||
static final int TYPE_ACK = TYPE_FIRST;
|
||||
static final int TYPE_PUNCH = 43;
|
||||
static final int TYPE_RESP = 44;
|
||||
static final int TYPE_INTRO = 45;
|
||||
static final int TYPE_RREQ = 46;
|
||||
static final int TYPE_TCB = 47;
|
||||
static final int TYPE_TBC = 48;
|
||||
static final int TYPE_TTA = 49;
|
||||
static final int TYPE_TFA = 50;
|
||||
static final int TYPE_CONF = 51;
|
||||
static final int TYPE_SREQ = 52;
|
||||
static final int TYPE_CREAT = 53;
|
||||
|
||||
/** we only talk to people of the right version
|
||||
* Commented out to prevent findbugs noop complaint
|
||||
* If we ever change this, uncomment below and in UDPPacket
|
||||
static final int PROTOCOL_VERSION = 0;
|
||||
*/
|
||||
|
||||
/** if no extended options or rekey data, which we don't support = 37 */
|
||||
public static final int HEADER_SIZE = UDPPacket.MAC_SIZE + UDPPacket.IV_SIZE + 1 + 4;
|
||||
|
||||
@@ -55,39 +30,10 @@ class PacketBuilder {
|
||||
/** one byte field */
|
||||
public static final int ABSOLUTE_MAX_ACKS = 255;
|
||||
|
||||
/**
|
||||
* Only for data packets. No limit in ack-only packets.
|
||||
* This directly affects data packet overhead.
|
||||
*/
|
||||
private static final int MAX_RESEND_ACKS_LARGE = 9;
|
||||
|
||||
/**
|
||||
* Only for data packets. No limit in ack-only packets.
|
||||
* This directly affects data packet overhead.
|
||||
*/
|
||||
private static final int MAX_RESEND_ACKS_SMALL = 4;
|
||||
|
||||
private static final String PROP_PADDING = "i2np.udp.padding";
|
||||
private static final boolean DEFAULT_ENABLE_PADDING = true;
|
||||
|
||||
/**
|
||||
* The nine message types, 0-8, shifted to bits 7-4 for convenience
|
||||
*/
|
||||
private static final byte SESSION_REQUEST_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_SESSION_REQUEST << 4;
|
||||
private static final byte SESSION_CREATED_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_SESSION_CREATED << 4;
|
||||
private static final byte SESSION_CONFIRMED_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_SESSION_CONFIRMED << 4;
|
||||
private static final byte PEER_RELAY_REQUEST_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_RELAY_REQUEST << 4;
|
||||
private static final byte PEER_RELAY_RESPONSE_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_RELAY_RESPONSE << 4;
|
||||
private static final byte PEER_RELAY_INTRO_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_RELAY_INTRO << 4;
|
||||
private static final byte DATA_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_DATA << 4;
|
||||
private static final byte PEER_TEST_FLAG_BYTE = UDPPacket.PAYLOAD_TYPE_TEST << 4;
|
||||
private static final byte SESSION_DESTROY_FLAG_BYTE = (byte) (UDPPacket.PAYLOAD_TYPE_SESSION_DESTROY << 4);
|
||||
|
||||
/* Higher than all other OutNetMessage priorities, but still droppable,
|
||||
* and will be shown in the codel.UDP-Sender.drop.500 stat.
|
||||
*/
|
||||
static final int PRIORITY_HIGH = 550;
|
||||
private static final int PRIORITY_LOW = OutNetMessage.PRIORITY_LOWEST;
|
||||
|
||||
/**
|
||||
* Class for passing multiple fragments to buildPacket()
|
||||
@@ -108,27 +54,4 @@ class PacketBuilder {
|
||||
return "Fragment " + num + " (" + state.fragmentSize(num) + " bytes) of " + state;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Will a packet to 'peer' that already has 'numFragments' fragments
|
||||
* totalling 'curDataSize' bytes fit another fragment of size 'newFragSize' ??
|
||||
*
|
||||
* This doesn't leave anything for acks.
|
||||
*
|
||||
* @param numFragments >= 1
|
||||
* @since 0.9.16
|
||||
*/
|
||||
public static int getMaxAdditionalFragmentSize(PeerState peer, int numFragments, int curDataSize) {
|
||||
int available = peer.getMTU() - curDataSize;
|
||||
if (peer.isIPv6())
|
||||
available -= MIN_IPV6_DATA_PACKET_OVERHEAD;
|
||||
else
|
||||
available -= MIN_DATA_PACKET_OVERHEAD;
|
||||
// OVERHEAD above includes 1 * FRAGMENT+HEADER_SIZE;
|
||||
// this adds for the others, plus the new one.
|
||||
available -= numFragments * FRAGMENT_HEADER_SIZE;
|
||||
//if (_log.shouldLog(Log.DEBUG))
|
||||
// _log.debug("now: " + numFragments + " / " + curDataSize + " avail: " + available);
|
||||
return available;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ class PacketHandler {
|
||||
private static final int MIN_NUM_HANDLERS = 1; // unless < 32MB
|
||||
private static final int MAX_NUM_HANDLERS = 1;
|
||||
|
||||
PacketHandler(RouterContext ctx, UDPTransport transport, boolean enableSSU1, boolean enableSSU2, EstablishmentManager establisher,
|
||||
PacketHandler(RouterContext ctx, UDPTransport transport, EstablishmentManager establisher,
|
||||
InboundMessageFragments inbound, PeerTestManager testManager, IntroductionManager introManager) {
|
||||
_context = ctx;
|
||||
_log = ctx.logManager().getLog(PacketHandler.class);
|
||||
|
||||
@@ -691,7 +691,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
|
||||
_establisher = new EstablishmentManager(_context, this);
|
||||
|
||||
if (_handler == null)
|
||||
_handler = new PacketHandler(_context, this, false, true, _establisher,
|
||||
_handler = new PacketHandler(_context, this, _establisher,
|
||||
_inboundFragments, _testManager, _introManager);
|
||||
|
||||
// See comments in DummyThrottle.java
|
||||
|
||||
Reference in New Issue
Block a user