forked from I2P_Developers/i2p.i2p
Util: Hook in ByteArrayStream
Set accurate lengths for zero-copy
This commit is contained in:
@ -8,7 +8,6 @@ package net.i2p.router.message;
|
||||
*
|
||||
*/
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
@ -37,6 +36,7 @@ import net.i2p.router.crypto.ratchet.MuxedSKM;
|
||||
import net.i2p.router.crypto.ratchet.RatchetSKM;
|
||||
import net.i2p.router.crypto.ratchet.RatchetSessionTag;
|
||||
import net.i2p.router.crypto.ratchet.ReplyCallback;
|
||||
import net.i2p.util.ByteArrayStream;
|
||||
import net.i2p.util.Log;
|
||||
|
||||
/**
|
||||
@ -393,11 +393,11 @@ public class GarlicMessageBuilder {
|
||||
* @throws IllegalArgumentException on error
|
||||
*/
|
||||
private static byte[] buildCloveSet(RouterContext ctx, GarlicConfig config) {
|
||||
ByteArrayOutputStream baos;
|
||||
ByteArrayStream baos;
|
||||
try {
|
||||
if (config instanceof PayloadGarlicConfig) {
|
||||
byte clove[] = buildClove(ctx, (PayloadGarlicConfig)config);
|
||||
baos = new ByteArrayOutputStream(clove.length + 16);
|
||||
baos = new ByteArrayStream(1 + clove.length + 3 + 4 + 8);
|
||||
baos.write((byte) 1);
|
||||
baos.write(clove);
|
||||
} else {
|
||||
@ -417,7 +417,7 @@ public class GarlicMessageBuilder {
|
||||
int len = 1;
|
||||
for (int i = 0; i < cloves.length; i++)
|
||||
len += cloves[i].length;
|
||||
baos = new ByteArrayOutputStream(len + 16);
|
||||
baos = new ByteArrayStream(1 + len + 3 + 4 + 8);
|
||||
baos.write((byte) cloves.length);
|
||||
for (int i = 0; i < cloves.length; i++)
|
||||
baos.write(cloves[i]);
|
||||
|
@ -33,6 +33,7 @@ import net.i2p.router.RouterContext;
|
||||
import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
|
||||
import net.i2p.router.transport.crypto.DHSessionKeyBuilder;
|
||||
import static net.i2p.router.transport.ntcp.OutboundNTCP2State.*;
|
||||
import net.i2p.util.ByteArrayStream;
|
||||
import net.i2p.util.ByteCache;
|
||||
import net.i2p.util.Log;
|
||||
import net.i2p.util.SimpleByteCache;
|
||||
@ -456,7 +457,7 @@ class InboundEstablishState extends EstablishBase implements NTCP2Payload.Payloa
|
||||
long rtt = now - _con.getCreated();
|
||||
_peerSkew = (now - (tsA * 1000) - (rtt / 2) + 500) / 1000;
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream(768);
|
||||
ByteArrayStream baos = new ByteArrayStream(256 + 256 + 32 + 4 + 4);
|
||||
baos.write(_X);
|
||||
baos.write(_Y);
|
||||
baos.write(_context.routerHash().getData());
|
||||
|
Reference in New Issue
Block a user