Class TtlAwareSerializer<T>
java.lang.Object
org.apache.flink.api.common.typeutils.TypeSerializer<T>
org.apache.flink.runtime.state.ttl.TtlAwareSerializer<T>
- All Implemented Interfaces:
Serializable
public class TtlAwareSerializer<T>
extends org.apache.flink.api.common.typeutils.TypeSerializer<T>
This class wraps a
TypeSerializer with ttl awareness. It will return true when the
wrapped TypeSerializer is instance of TtlStateFactory.TtlSerializer. Also, it
wraps the value migration process between TtlSerializer and non-ttl typeSerializer.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionTtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<T> typeSerializer) -
Method Summary
Modifier and TypeMethodDescriptionvoidcopy(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target) deserialize(org.apache.flink.core.memory.DataInputView source) deserialize(T reuse, org.apache.flink.core.memory.DataInputView source) org.apache.flink.api.common.typeutils.TypeSerializer<T>booleanintorg.apache.flink.api.common.typeutils.TypeSerializer<T>inthashCode()booleanstatic booleanisSerializerTtlEnabled(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer) booleanvoidmigrateValueFromPriorSerializer(TtlAwareSerializer<T> priorTtlAwareSerializer, org.apache.flink.util.function.SupplierWithException<T, IOException> inputSupplier, org.apache.flink.core.memory.DataOutputView target, TtlTimeProvider ttlTimeProvider) voidorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>static org.apache.flink.api.common.typeutils.TypeSerializer<?>wrapTtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
-
Constructor Details
-
TtlAwareSerializer
-
-
Method Details
-
isImmutableType
public boolean isImmutableType()- Specified by:
isImmutableTypein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
duplicate
- Specified by:
duplicatein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
createInstance
- Specified by:
createInstancein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
copy
- Specified by:
copyin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
copy
- Specified by:
copyin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
getLength
public int getLength()- Specified by:
getLengthin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
serialize
public void serialize(T record, org.apache.flink.core.memory.DataOutputView target) throws IOException - Specified by:
serializein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>- Throws:
IOException
-
deserialize
- Specified by:
deserializein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>- Throws:
IOException
-
deserialize
- Specified by:
deserializein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>- Throws:
IOException
-
equals
- Specified by:
equalsin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
hashCode
public int hashCode()- Specified by:
hashCodein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
migrateValueFromPriorSerializer
public void migrateValueFromPriorSerializer(TtlAwareSerializer<T> priorTtlAwareSerializer, org.apache.flink.util.function.SupplierWithException<T, IOException> inputSupplier, org.apache.flink.core.memory.DataOutputView target, TtlTimeProvider ttlTimeProvider) throws IOException- Throws:
IOException
-
copy
public void copy(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target) throws IOException - Specified by:
copyin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>- Throws:
IOException
-
isTtlEnabled
public boolean isTtlEnabled() -
getOriginalTypeSerializer
-
snapshotConfiguration
- Specified by:
snapshotConfigurationin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
isSerializerTtlEnabled
public static boolean isSerializerTtlEnabled(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer) -
wrapTtlAwareSerializer
public static org.apache.flink.api.common.typeutils.TypeSerializer<?> wrapTtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
-