Class SkipListUtils
- java.lang.Object
-
- org.apache.flink.runtime.state.heap.SkipListUtils
-
public class SkipListUtils extends Object
Utilities for skip list.
-
-
Constructor Summary
Constructors Constructor Description SkipListUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intgetKeyDataOffset(int level)Returns the offset of key data in the key space.static intgetKeyLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the length of the key.static intgetKeyMetaLen(int level)Returns the length of key meta with the given level.static longgetKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Return the pointer to key space.static intgetLevel(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the level of the node.static longgetNextIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int level)Returns next key pointer on the given index level.static longgetNextKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the next key pointer on level 0.static longgetNextValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Return the pointer to next value space.static NodeStatusgetNodeStatus(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the status of the node.static longgetPrevIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int totalLevel, int level)Returns previous key pointer on the given index level.static intgetValueLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Return the length of value data.static intgetValueMetaLen()Returns the length of value meta.static longgetValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the value pointer.static intgetValueVersion(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the version of value.static voidputKeyData(org.apache.flink.core.memory.MemorySegment segment, int offset, org.apache.flink.core.memory.MemorySegment keySegment, int keyOffset, int keyLen, int level)Puts the key data into key space.static voidputKeyLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int keyLen)Puts the length of key to the key space.static voidputKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long keyPointer)Puts the pointer of key space.static voidputLevelAndNodeStatus(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int level, NodeStatus status)Puts the level and status to the key space.static voidputNextIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int level, long nextKeyPointer)Puts next key pointer on the given index level to key space.static voidputNextKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long nextKeyPointer)Puts the next key pointer on level 0 to key space.static voidputNextValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long nextValuePointer)Puts the pointer of next value space.static voidputPrevIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int totalLevel, int level, long prevKeyPointer)Puts previous key pointer on the given index level to key space.static voidputValueData(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, byte[] value)Puts the value data into value space.static voidputValueLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int valueLen)Puts the length of value data.static voidputValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long valuePointer)Puts the value pointer to key space.static voidputValueVersion(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int version)Puts the version of value to value space.
-
-
-
Method Detail
-
getLevel
public static int getLevel(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the level of the node.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.
-
getNodeStatus
public static NodeStatus getNodeStatus(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)
Returns the status of the node.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.
-
putLevelAndNodeStatus
public static void putLevelAndNodeStatus(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int level, NodeStatus status)Puts the level and status to the key space.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.level- the level.status- the status.
-
getKeyLen
public static int getKeyLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the length of the key.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.
-
putKeyLen
public static void putKeyLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int keyLen)Puts the length of key to the key space.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.keyLen- length of key.
-
getValuePointer
public static long getValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the value pointer.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.
-
putValuePointer
public static void putValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long valuePointer)Puts the value pointer to key space.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.valuePointer- the value pointer.
-
getNextKeyPointer
public static long getNextKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the next key pointer on level 0.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.
-
putNextKeyPointer
public static void putNextKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long nextKeyPointer)Puts the next key pointer on level 0 to key space.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.nextKeyPointer- next key pointer on level 0.
-
getNextIndexNode
public static long getNextIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int level)Returns next key pointer on the given index level.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.level- level of index.
-
putNextIndexNode
public static void putNextIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int level, long nextKeyPointer)Puts next key pointer on the given index level to key space.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.level- level of index.nextKeyPointer- next key pointer on the given level.
-
getPrevIndexNode
public static long getPrevIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int totalLevel, int level)Returns previous key pointer on the given index level.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.totalLevel- the level of the node.level- on which level to get the previous key pointer of the node.
-
putPrevIndexNode
public static void putPrevIndexNode(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int totalLevel, int level, long prevKeyPointer)Puts previous key pointer on the given index level to key space.- Parameters:
memorySegment- memory segment for key space.offset- offset of key space in the memory segment.totalLevel- top level of the key.level- level of index.prevKeyPointer- previous key pointer on the given level.
-
getKeyMetaLen
public static int getKeyMetaLen(int level)
Returns the length of key meta with the given level.- Parameters:
level- level of the key.
-
getKeyDataOffset
public static int getKeyDataOffset(int level)
Returns the offset of key data in the key space.- Parameters:
level- level of the key.
-
putKeyData
public static void putKeyData(org.apache.flink.core.memory.MemorySegment segment, int offset, org.apache.flink.core.memory.MemorySegment keySegment, int keyOffset, int keyLen, int level)Puts the key data into key space.- Parameters:
segment- memory segment for key space.offset- offset of key space in memory segment.keySegment- memory segment for key data.keyOffset- offset of key data in memory segment.keyLen- length of key data.level- level of the key.
-
getValueVersion
public static int getValueVersion(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Returns the version of value.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.
-
putValueVersion
public static void putValueVersion(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int version)Puts the version of value to value space.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.version- version of value.
-
getKeyPointer
public static long getKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Return the pointer to key space.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.
-
putKeyPointer
public static void putKeyPointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long keyPointer)Puts the pointer of key space.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.keyPointer- pointer to key space.
-
getNextValuePointer
public static long getNextValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Return the pointer to next value space.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.
-
putNextValuePointer
public static void putNextValuePointer(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, long nextValuePointer)Puts the pointer of next value space.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.nextValuePointer- pointer to next value space.
-
getValueLen
public static int getValueLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset)Return the length of value data.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.
-
putValueLen
public static void putValueLen(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, int valueLen)Puts the length of value data.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.valueLen- length of value data.
-
getValueMetaLen
public static int getValueMetaLen()
Returns the length of value meta.
-
putValueData
public static void putValueData(org.apache.flink.core.memory.MemorySegment memorySegment, int offset, byte[] value)Puts the value data into value space.- Parameters:
memorySegment- memory segment for value space.offset- offset of value space in memory segment.value- value data.
-
-