Merge branch '764-bdf-list-dictionary-not-thread-safe' into 'master'

BdfList and BdfDictionary don't need to be thread-safe

Closes #764

See merge request !614
This commit is contained in:
Torsten Grote
2017-11-21 13:00:23 +00:00
4 changed files with 14 additions and 9 deletions

View File

@@ -4,11 +4,14 @@ import org.briarproject.bramble.api.Bytes;
import org.briarproject.bramble.api.FormatException;
import java.util.Map;
import java.util.concurrent.ConcurrentSkipListMap;
import java.util.Map.Entry;
import java.util.TreeMap;
import javax.annotation.Nullable;
import javax.annotation.concurrent.NotThreadSafe;
public class BdfDictionary extends ConcurrentSkipListMap<String, Object> {
@NotThreadSafe
public class BdfDictionary extends TreeMap<String, Object> {
public static final Object NULL_VALUE = new Object();

View File

@@ -3,15 +3,17 @@ package org.briarproject.bramble.api.data;
import org.briarproject.bramble.api.Bytes;
import org.briarproject.bramble.api.FormatException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
import javax.annotation.Nullable;
import javax.annotation.concurrent.NotThreadSafe;
import static org.briarproject.bramble.api.data.BdfDictionary.NULL_VALUE;
public class BdfList extends Vector<Object> {
@NotThreadSafe
public class BdfList extends ArrayList<Object> {
/**
* Factory method for constructing lists inline.

View File

@@ -1,11 +1,11 @@
package org.briarproject.bramble.api.db;
import java.util.Hashtable;
import java.util.TreeMap;
import javax.annotation.concurrent.ThreadSafe;
import javax.annotation.concurrent.NotThreadSafe;
@ThreadSafe
public class Metadata extends Hashtable<String, byte[]> {
@NotThreadSafe
public class Metadata extends TreeMap<String, byte[]> {
/**
* Special value to indicate that a key is being removed.

View File

@@ -75,7 +75,7 @@ class BlogPostValidator extends BdfMessageValidator {
BdfMessageContext c;
int type = body.getLong(0).intValue();
body.removeElementAt(0);
body.remove(0);
switch (MessageType.valueOf(type)) {
case POST:
c = validatePost(m, g, body);