I2NP: Change DeliveryInstructions internal flags storage from long to int

This commit is contained in:
zzz
2018-08-04 15:16:21 +00:00
parent a5a5f7dbde
commit 9b3eb8d2c3

View File

@ -53,9 +53,9 @@ public class DeliveryInstructions extends DataStructureImpl {
/** @deprecated unused */ /** @deprecated unused */
@Deprecated @Deprecated
private final static long FLAG_ENCRYPTED = 128; private final static int FLAG_ENCRYPTED = 128;
private final static long FLAG_MODE = 96; private final static int FLAG_MODE = 96;
private final static long FLAG_DELAY = 16; private final static int FLAG_DELAY = 16;
/** /**
* Immutable local instructions, no options * Immutable local instructions, no options
@ -241,40 +241,38 @@ public class DeliveryInstructions extends DataStructureImpl {
****/ ****/
/** high bits */ /** high bits */
private static int flagMode(long flags) { private static int flagMode(int flags) {
long v = flags & FLAG_MODE; int v = flags & FLAG_MODE;
v >>>= 5; v >>>= 5;
return (int)v; return (int)v;
} }
/** unused */ /** unused */
private static boolean flagDelay(long flags) { private static boolean flagDelay(int flags) {
return (0 != (flags & FLAG_DELAY)); return (0 != (flags & FLAG_DELAY));
} }
private long getFlags() { private int getFlags() {
long val = 0L; int val = 0;
/**** /****
if (getEncrypted()) if (getEncrypted())
val = val | FLAG_ENCRYPTED; val = val | FLAG_ENCRYPTED;
****/ ****/
long fmode = 0;
switch (getDeliveryMode()) { switch (getDeliveryMode()) {
case FLAG_MODE_LOCAL: case FLAG_MODE_LOCAL:
break; break;
case FLAG_MODE_DESTINATION: case FLAG_MODE_DESTINATION:
fmode = FLAG_MODE_DESTINATION << 5; val = FLAG_MODE_DESTINATION << 5;
break; break;
case FLAG_MODE_ROUTER: case FLAG_MODE_ROUTER:
fmode = FLAG_MODE_ROUTER << 5; val = FLAG_MODE_ROUTER << 5;
break; break;
case FLAG_MODE_TUNNEL: case FLAG_MODE_TUNNEL:
fmode = FLAG_MODE_TUNNEL << 5; val = FLAG_MODE_TUNNEL << 5;
break; break;
} }
val = val | fmode;
if (getDelayRequested()) if (getDelayRequested())
val = val | FLAG_DELAY; val |= FLAG_DELAY;
//if (_log.shouldLog(Log.DEBUG)) //if (_log.shouldLog(Log.DEBUG))
// _log.debug("getFlags() = " + val); // _log.debug("getFlags() = " + val);
return val; return val;
@ -389,7 +387,7 @@ public class DeliveryInstructions extends DataStructureImpl {
@Deprecated @Deprecated
public void writeBytes(OutputStream out) throws DataFormatException, IOException { public void writeBytes(OutputStream out) throws DataFormatException, IOException {
if ( (_deliveryMode < 0) || (_deliveryMode > FLAG_MODE_TUNNEL) ) throw new DataFormatException("Invalid data: mode = " + _deliveryMode); if ( (_deliveryMode < 0) || (_deliveryMode > FLAG_MODE_TUNNEL) ) throw new DataFormatException("Invalid data: mode = " + _deliveryMode);
long flags = getFlags(); int flags = getFlags();
//if (_log.shouldLog(Log.DEBUG)) //if (_log.shouldLog(Log.DEBUG))
// _log.debug("Write flags: " + flags + " mode: " + getDeliveryMode() // _log.debug("Write flags: " + flags + " mode: " + getDeliveryMode()
// + " =?= " + flagMode(flags)); // + " =?= " + flagMode(flags));
@ -406,7 +404,7 @@ public class DeliveryInstructions extends DataStructureImpl {
*/ */
public int writeBytes(byte target[], int offset) { public int writeBytes(byte target[], int offset) {
if ( (_deliveryMode < 0) || (_deliveryMode > FLAG_MODE_TUNNEL) ) throw new IllegalStateException("Invalid data: mode = " + _deliveryMode); if ( (_deliveryMode < 0) || (_deliveryMode > FLAG_MODE_TUNNEL) ) throw new IllegalStateException("Invalid data: mode = " + _deliveryMode);
long flags = getFlags(); int flags = getFlags();
//if (_log.shouldLog(Log.DEBUG)) //if (_log.shouldLog(Log.DEBUG))
// _log.debug("Write flags: " + flags + " mode: " + getDeliveryMode() // _log.debug("Write flags: " + flags + " mode: " + getDeliveryMode()
// + " =?= " + flagMode(flags)); // + " =?= " + flagMode(flags));