HCOLL-164 Made ChronicleSet zero overhead by value; fixed ChronicleSet.add() and remove() implementations; added ChronicleMapBuilder.valueMarshallerAndFactory(AgileBytesMarshaller, ObjectFactory) method

This commit is contained in:
leventov
2014-10-14 00:30:43 +04:00
parent 6c02947ffb
commit 8ae20aa6cc
7 changed files with 232 additions and 108 deletions
@@ -20,6 +20,7 @@ import net.openhft.chronicle.ChronicleHashBuilder;
import net.openhft.chronicle.ChronicleHashErrorListener;
import net.openhft.chronicle.ChronicleHashErrorListeners;
import net.openhft.chronicle.TimeProvider;
import net.openhft.chronicle.map.serialization.AgileBytesMarshaller;
import net.openhft.chronicle.map.serialization.MetaBytesInterop;
import net.openhft.chronicle.map.serialization.MetaBytesWriter;
import net.openhft.chronicle.map.serialization.MetaProvider;
@@ -638,6 +639,13 @@ public class ChronicleMapBuilder<K, V> implements Cloneable,
return this;
}
public ChronicleMapBuilder<K, V> valueMarshallerAndFactory(
@NotNull AgileBytesMarshaller<V> valueMarshaller,
@NotNull ObjectFactory<V> valueFactory) {
valueBuilder.agileMarshaller(valueMarshaller, valueFactory);
return this;
}
public ChronicleMapBuilder<K, V> valueFactory(@NotNull ObjectFactory<V> valueFactory) {
valueBuilder.factory(valueFactory);
return this;