public SharedBuffer(KeyedStateStore stateStore, TypeSerializer<V> valueSerializer) { this.eventsBuffer = stateStore.getMapState( new MapStateDescriptor<>( eventsStateName, EventId.EventIdSerializer.INSTANCE, new Lockable.LockableTypeSerializer<>(valueSerializer))); this.entries = stateStore.getMapState( new MapStateDescriptor<>( entriesStateName, NodeId.NodeIdSerializer.INSTANCE, new Lockable.LockableTypeSerializer<>(new SharedBufferNode.SharedBufferNodeSerializer()))); this.eventsCount = stateStore.getMapState( new MapStateDescriptor<>( eventsCountStateName, LongSerializer.INSTANCE, IntSerializer.INSTANCE)); }
public SharedBuffer(KeyedStateStore stateStore, TypeSerializer<V> valueSerializer) { this.eventsBuffer = stateStore.getMapState( new MapStateDescriptor<>( eventsStateName, EventId.EventIdSerializer.INSTANCE, new Lockable.LockableTypeSerializer<>(valueSerializer))); this.entries = stateStore.getMapState( new MapStateDescriptor<>( entriesStateName, NodeId.NodeIdSerializer.INSTANCE, new Lockable.LockableTypeSerializer<>(new SharedBufferNode.SharedBufferNodeSerializer()))); this.eventsCount = stateStore.getMapState( new MapStateDescriptor<>( eventsCountStateName, LongSerializer.INSTANCE, IntSerializer.INSTANCE)); }
@Override public TypeSerializer<Lockable<E>> restoreSerializer() { return new Lockable.LockableTypeSerializer<>(nestedElementSerializerSnapshot.getRestoreSerializer(0)); }
@Override public TypeSerializer<Lockable<E>> restoreSerializer() { return new Lockable.LockableTypeSerializer<>(nestedElementSerializerSnapshot.getRestoreSerializer(0)); }
@Override public LockableTypeSerializer<E> duplicate() { TypeSerializer<E> elementSerializerCopy = elementSerializer.duplicate(); return elementSerializerCopy == elementSerializer ? this : new LockableTypeSerializer<>(elementSerializerCopy); }
@Override public LockableTypeSerializer<E> duplicate() { TypeSerializer<E> elementSerializerCopy = elementSerializer.duplicate(); return elementSerializerCopy == elementSerializer ? this : new LockableTypeSerializer<>(elementSerializerCopy); }
/** * This tests that {@link Lockable.LockableTypeSerializer#duplicate()} works as expected. */ @Test public void testDuplicate() { IntSerializer nonDuplicatingInnerSerializer = IntSerializer.INSTANCE; Assert.assertSame(nonDuplicatingInnerSerializer, nonDuplicatingInnerSerializer.duplicate()); Lockable.LockableTypeSerializer<Integer> candidateTestShallowDuplicate = new Lockable.LockableTypeSerializer<>(nonDuplicatingInnerSerializer); Assert.assertSame(candidateTestShallowDuplicate, candidateTestShallowDuplicate.duplicate()); TestDuplicateSerializer duplicatingInnerSerializer = new TestDuplicateSerializer(); Assert.assertNotSame(duplicatingInnerSerializer, duplicatingInnerSerializer.duplicate()); Lockable.LockableTypeSerializer<Integer> candidateTestDeepDuplicate = new Lockable.LockableTypeSerializer<>(duplicatingInnerSerializer); Lockable.LockableTypeSerializer<Integer> deepDuplicate = candidateTestDeepDuplicate.duplicate(); Assert.assertNotSame(candidateTestDeepDuplicate, deepDuplicate); Assert.assertNotSame(candidateTestDeepDuplicate.getElementSerializer(), deepDuplicate.getElementSerializer()); } }
public SharedBuffer(KeyedStateStore stateStore, TypeSerializer<V> valueSerializer) { this.eventsBuffer = stateStore.getMapState( new MapStateDescriptor<>( eventsStateName, EventId.EventIdSerializer.INSTANCE, new Lockable.LockableTypeSerializer<>(valueSerializer))); this.entries = stateStore.getMapState( new MapStateDescriptor<>( entriesStateName, new NodeId.NodeIdSerializer(), new Lockable.LockableTypeSerializer<>(new SharedBufferNode.SharedBufferNodeSerializer()))); this.eventsCount = stateStore.getMapState( new MapStateDescriptor<>( eventsCountStateName, LongSerializer.INSTANCE, IntSerializer.INSTANCE)); }
@Override protected Lockable.LockableTypeSerializer createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers) { @SuppressWarnings("unchecked") TypeSerializer<E> elementSerializer = (TypeSerializer<E>) nestedSerializers[0]; return new Lockable.LockableTypeSerializer<>(elementSerializer); }
@Override public LockableTypeSerializer<E> duplicate() { TypeSerializer<E> elementSerializerCopy = elementSerializer.duplicate(); return elementSerializerCopy == elementSerializer ? this : new LockableTypeSerializer<>(elementSerializerCopy); }
@SuppressWarnings("unchecked") @Parameterized.Parameters(name = "Test Specification = {0}") public static Collection<TestSpecification<?>> testSpecifications() { final TestSpecifications testSpecifications = new TestSpecifications(MigrationVersion.v1_6, MigrationVersion.v1_7); testSpecifications.add( SPEC_NAME, Lockable.LockableTypeSerializer.class, LockableTypeSerializerSnapshot.class, () -> new Lockable.LockableTypeSerializer<>(StringSerializer.INSTANCE)); return testSpecifications.get(); } }