forked from I2P_Developers/i2p.i2p
I2NP: Don't extend DataStructureImpl, to save space
Fixup test as required
This commit is contained in:
26
history.txt
26
history.txt
@ -1,3 +1,29 @@
|
||||
2020-11-16 zzz
|
||||
* GeoIP 2020-11-01
|
||||
* I2NP: Don't extend DataStructureImpl, to save space
|
||||
* Wrapper: Update to 3.5.44
|
||||
|
||||
2020-11-11 zzz
|
||||
* Data: Store timestamps as longs, not Dates, to save space
|
||||
* I2CP: Don't have I2CP Messages extend DataStructureImpl, to save space
|
||||
|
||||
2020-11-10 zzz
|
||||
* Data: SDS no longer extends DataStructureImpl to save space
|
||||
* i2psnark: Larger read buffer for large files
|
||||
* Ratchet: Destroy HandshakeState after fatal NS/NSR errors
|
||||
|
||||
2020-11-07 zzz
|
||||
* Tunnels: Simplify TunnelId and HopConfig to save space
|
||||
|
||||
2020-11-05 zzz
|
||||
* NetDB: Ensure RI republish time is less than validation time
|
||||
|
||||
2020-11-04 zzz
|
||||
* Util: ELiminate unneeded data copying in ByteArrayOutputStream
|
||||
|
||||
2020-11-03 zzz
|
||||
* i2ptunnel: Add checks for offline expiration of alternate destination
|
||||
|
||||
2020-11-02 zzz
|
||||
* I2CP: Remove tunnels immediately on client disconnect
|
||||
* i2psnark: Limit max size of embedded video
|
||||
|
@ -15,9 +15,11 @@ import net.i2p.data.DataStructure;
|
||||
/**
|
||||
* Base interface for all I2NP messages
|
||||
*
|
||||
* Note: No longer extends DataStructure as of 0.9.48
|
||||
*
|
||||
* @author jrandom
|
||||
*/
|
||||
public interface I2NPMessage extends DataStructure {
|
||||
public interface I2NPMessage {
|
||||
|
||||
/** 4 bytes unsigned */
|
||||
public static final long MAX_ID_VALUE = (1l << 32) - 1l;
|
||||
@ -102,6 +104,11 @@ public interface I2NPMessage extends DataStructure {
|
||||
/** How large the raw message is with the short 5 byte header */
|
||||
public int getRawMessageSize();
|
||||
|
||||
/**
|
||||
* @since 0.9.48 from DataStructure
|
||||
*/
|
||||
public byte[] toByteArray();
|
||||
|
||||
/**
|
||||
* Write the message to the buffer, returning the new offset (NOT the length).
|
||||
* the data is formatted so as to be self contained, with the type, size,
|
||||
|
@ -25,9 +25,11 @@ import net.i2p.util.SimpleByteCache;
|
||||
/**
|
||||
* Defines the base message implementation.
|
||||
*
|
||||
* Note: No longer extends DataStructureImpl as of 0.9.48
|
||||
*
|
||||
* @author jrandom
|
||||
*/
|
||||
public abstract class I2NPMessageImpl extends DataStructureImpl implements I2NPMessage {
|
||||
public abstract class I2NPMessageImpl implements I2NPMessage {
|
||||
protected final Log _log;
|
||||
protected final I2PAppContext _context;
|
||||
protected long _expiration;
|
||||
@ -214,7 +216,6 @@ public abstract class I2NPMessageImpl extends DataStructureImpl implements I2NPM
|
||||
return calculateWrittenLength()+5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] toByteArray() {
|
||||
byte data[] = new byte[getMessageSize()];
|
||||
int written = toByteArray(data);
|
||||
|
@ -18,10 +18,10 @@ public class RouterVersion {
|
||||
/** deprecated */
|
||||
public final static String ID = "Monotone";
|
||||
public final static String VERSION = CoreVersion.VERSION;
|
||||
public final static long BUILD = 12;
|
||||
public final static long BUILD = 13;
|
||||
|
||||
/** for example "-test" */
|
||||
public final static String EXTRA = "";
|
||||
public final static String EXTRA = "-rc";
|
||||
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
|
||||
public static void main(String args[]) {
|
||||
System.out.println("I2P Router version: " + FULL_VERSION);
|
||||
|
@ -17,6 +17,7 @@ import org.junit.rules.ExpectedException;
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.data.DataFormatException;
|
||||
import net.i2p.data.DataStructure;
|
||||
import net.i2p.data.Hash;
|
||||
import net.i2p.data.router.RouterInfo;
|
||||
import net.i2p.data.router.RouterInfoTest;
|
||||
import net.i2p.data.StructureTest;
|
||||
@ -33,7 +34,7 @@ public class DatabaseStoreMessageTest extends StructureTest {
|
||||
public ExpectedException exception = ExpectedException.none();
|
||||
|
||||
public DataStructure createDataStructure() throws DataFormatException {
|
||||
DatabaseStoreMessage msg = new DatabaseStoreMessage(I2PAppContext.getGlobalContext());
|
||||
DSMStructure msg = new DSMStructure(I2PAppContext.getGlobalContext());
|
||||
RouterInfo info = (RouterInfo)new RouterInfoTest().createDataStructure();
|
||||
msg.setMessageExpiration(Clock.getInstance().now());
|
||||
msg.setUniqueId(666);
|
||||
@ -42,7 +43,7 @@ public class DatabaseStoreMessageTest extends StructureTest {
|
||||
}
|
||||
|
||||
public DataStructure createStructureToRead() {
|
||||
return new DatabaseStoreMessage(I2PAppContext.getGlobalContext());
|
||||
return new DSMStructure(I2PAppContext.getGlobalContext());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -51,4 +52,12 @@ public class DatabaseStoreMessageTest extends StructureTest {
|
||||
exception.expect(UnsupportedOperationException.class);
|
||||
super.testStructure();
|
||||
}
|
||||
|
||||
private static class DSMStructure extends DatabaseStoreMessage implements DataStructure {
|
||||
public DSMStructure(I2PAppContext ctx) { super(ctx); }
|
||||
public Hash calculateHash() { return null; }
|
||||
public void fromByteArray(byte[] b) {}
|
||||
public void fromBase64(String s) {}
|
||||
public String toBase64() { return null; }
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user