3030
3131import java .io .IOException ;
3232import java .io .UncheckedIOException ;
33- import java .nio .file .Path ;
34- import java .nio .file .Paths ;
3533import java .util .ArrayList ;
36- import java .util .HashMap ;
34+ import java .util .Collections ;
3735import java .util .HashSet ;
3836import java .util .Iterator ;
37+ import java .util .Map ;
38+ import java .util .Set ;
39+ import java .util .concurrent .ConcurrentHashMap ;
3940
4041import org .janelia .saalfeldlab .n5 .N5Exception .N5IOException ;
4142import org .janelia .saalfeldlab .n5 .N5Exception .N5NoSuchKeyException ;
@@ -55,15 +56,15 @@ public class InMemoryKeyValueAccess implements KeyValueAccess {
5556
5657 private static final String ROOT = "/" ;
5758
58- private HashMap <String ,ReadData > files ;
59- private HashSet <String > directories ;
59+ private Map <String ,ReadData > files ;
60+ private Set <String > directories ;
6061
6162 /**
6263 * Creates a {@link InMemoryKeyValueAccess}.
6364 */
6465 public InMemoryKeyValueAccess () {
65- files = new HashMap <>();
66- directories = new HashSet <>();
66+ files = new ConcurrentHashMap <>();
67+ directories = Collections . synchronizedSet ( new HashSet <>() );
6768 directories .add (ROOT );
6869 }
6970
0 commit comments