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 aTypeSerializerwith ttl awareness. It will return true when the wrappedTypeSerializeris instance ofTtlStateFactory.TtlSerializer. Also, it wraps the value migration process between TtlSerializer and non-ttl typeSerializer.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<T> typeSerializer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcopy(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target)Tcopy(T from)Tcopy(T from, T reuse)TcreateInstance()Tdeserialize(org.apache.flink.core.memory.DataInputView source)Tdeserialize(T reuse, org.apache.flink.core.memory.DataInputView source)org.apache.flink.api.common.typeutils.TypeSerializer<T>duplicate()booleanequals(Object o)intgetLength()org.apache.flink.api.common.typeutils.TypeSerializer<T>getOriginalTypeSerializer()inthashCode()booleanisImmutableType()static booleanisSerializerTtlEnabled(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)booleanisTtlEnabled()voidmigrateValueFromPriorSerializer(TtlAwareSerializer<T> priorTtlAwareSerializer, org.apache.flink.util.function.SupplierWithException<T,IOException> inputSupplier, org.apache.flink.core.memory.DataOutputView target, TtlTimeProvider ttlTimeProvider)voidserialize(T record, org.apache.flink.core.memory.DataOutputView target)org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>snapshotConfiguration()static org.apache.flink.api.common.typeutils.TypeSerializer<?>wrapTtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
-
-
-
Constructor Detail
-
TtlAwareSerializer
public TtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<T> typeSerializer)
-
-
Method Detail
-
isImmutableType
public boolean isImmutableType()
- Specified by:
isImmutableTypein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
duplicate
public org.apache.flink.api.common.typeutils.TypeSerializer<T> duplicate()
- Specified by:
duplicatein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
createInstance
public T createInstance()
- Specified by:
createInstancein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
copy
public T copy(T from)
- Specified by:
copyin classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
copy
public T copy(T from, T reuse)
- 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
public T deserialize(org.apache.flink.core.memory.DataInputView source) throws IOException
- Specified by:
deserializein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>- Throws:
IOException
-
deserialize
public T deserialize(T reuse, org.apache.flink.core.memory.DataInputView source) throws IOException
- Specified by:
deserializein classorg.apache.flink.api.common.typeutils.TypeSerializer<T>- Throws:
IOException
-
equals
public boolean equals(Object o)
- 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
public org.apache.flink.api.common.typeutils.TypeSerializer<T> getOriginalTypeSerializer()
-
snapshotConfiguration
public org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> 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)
-
-