I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 93d366fe authored by zzz's avatar zzz
Browse files

* Tunnel: Concurrentify HashSetIVValidator

parent 7973f2e8
No related branches found
No related tags found
No related merge requests found
package net.i2p.router.tunnel;
import java.util.HashSet;
import java.util.Set;
import net.i2p.data.ByteArray;
import net.i2p.data.DataHelper;
import net.i2p.util.ConcurrentHashSet;
/**
* waste lots of RAM
*/
class HashSetIVValidator implements IVValidator {
private final HashSet _received;
private final Set<ByteArray> _received;
public HashSetIVValidator() {
_received = new HashSet();
_received = new ConcurrentHashSet();
}
public boolean receiveIV(byte ivData[], int ivOffset, byte payload[], int payloadOffset) {
......@@ -21,10 +22,7 @@ class HashSetIVValidator implements IVValidator {
byte iv[] = new byte[HopProcessor.IV_LENGTH];
DataHelper.xor(ivData, ivOffset, payload, payloadOffset, iv, 0, HopProcessor.IV_LENGTH);
ByteArray ba = new ByteArray(iv);
boolean isNew = false;
synchronized (_received) {
isNew = _received.add(ba);
}
boolean isNew = _received.add(ba);
return isNew;
}
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment