Class RecordContext<K>
- java.lang.Object
-
- org.apache.flink.runtime.asyncprocessing.ReferenceCounted<RecordContext.DisposerRunner>
-
- org.apache.flink.runtime.asyncprocessing.RecordContext<K>
-
- Type Parameters:
K- The type of the key inside the record.
public class RecordContext<K> extends ReferenceCounted<RecordContext.DisposerRunner>
A context that preserves the necessary variables required by each operation, all operations for one record will share the same element context.Reference counting mechanism, please refer to
ContextAsyncFutureImpl.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceRecordContext.DisposerRunner
-
Constructor Summary
Constructors Constructor Description RecordContext(Object record, K key, Consumer<RecordContext<K>> disposer, int keyGroup, EpochManager.Epoch epoch, int variableCount)RecordContext(Object record, K key, Consumer<RecordContext<K>> disposer, int keyGroup, EpochManager.Epoch epoch, int variableCount, int priority)RecordContext(Object record, K key, Consumer<RecordContext<K>> disposer, int keyGroup, EpochManager.Epoch epoch, AtomicReferenceArray<Object> variables, int priority)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)EpochManager.EpochgetEpoch()ObjectgetExtra()KgetKey()intgetKeyGroup()<N> NgetNamespace(InternalPartitionedState<N> state)intgetPriority()ObjectgetRecord()<T> TgetVariable(int i)inthashCode()protected voidreferenceCountReachedZero(RecordContext.DisposerRunner disposerRunner)A method called when the reference count reaches zero.voidsetExtra(Object extra)<N> voidsetNamespace(InternalPartitionedState<N> state, N namespace)<T> voidsetVariable(int i, T value)StringtoString()-
Methods inherited from class org.apache.flink.runtime.asyncprocessing.ReferenceCounted
getReferenceCount, release, release, retain, tryRetain
-
-
-
-
Constructor Detail
-
RecordContext
public RecordContext(Object record, K key, Consumer<RecordContext<K>> disposer, int keyGroup, EpochManager.Epoch epoch, int variableCount)
-
RecordContext
public RecordContext(Object record, K key, Consumer<RecordContext<K>> disposer, int keyGroup, EpochManager.Epoch epoch, int variableCount, int priority)
-
RecordContext
public RecordContext(Object record, K key, Consumer<RecordContext<K>> disposer, int keyGroup, EpochManager.Epoch epoch, AtomicReferenceArray<Object> variables, int priority)
-
-
Method Detail
-
getRecord
public Object getRecord()
-
getKey
public K getKey()
-
referenceCountReachedZero
protected void referenceCountReachedZero(@Nullable RecordContext.DisposerRunner disposerRunner)Description copied from class:ReferenceCountedA method called when the reference count reaches zero.- Specified by:
referenceCountReachedZeroin classReferenceCounted<RecordContext.DisposerRunner>
-
getKeyGroup
public int getKeyGroup()
-
getNamespace
public <N> N getNamespace(InternalPartitionedState<N> state)
-
setNamespace
public <N> void setNamespace(InternalPartitionedState<N> state, N namespace)
-
getVariable
public <T> T getVariable(int i)
-
setVariable
public <T> void setVariable(int i, T value)
-
setExtra
public void setExtra(Object extra)
-
getExtra
public Object getExtra()
-
getEpoch
public EpochManager.Epoch getEpoch()
-
getPriority
public int getPriority()
-
-