Class PendingOpMap
java.lang.Object
io.netty.channel.uring.PendingOpMap
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longprivate static final longprivate static final floatprivate intprivate intprivate final AtomicLongprivate byte[]private int[]private intprivate long[]private static final longprivate intprivate long[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static intcalcMaxSize(int capacity) private static intexpandCapacity(int capacity) (package private) intfindSlot(long token) private static inthashIndex(long key, int mask) private voidinsertAt(int index, long token, int registrationId, byte op, long userData) private voidinsertDuringRehash(long token, int registrationId, byte op, long userData) (package private) long(package private) byteop(int slot) private intprobeNext(int index) (package private) voidregisterNormal(long token, int registrationId, byte op, long userData) (package private) intregistrationId(int slot) private voidrehash(int newCapacity) (package private) voidrelease(int slot) (package private) static longtoken(long sequence) Slow-path and internal tokens are negative so they can be distinguished from packed fast-path userdata by checking bit 63.(package private) static longtokenSequence(long token) (package private) longuserData(int slot)
-
Field Details
-
LOAD_FACTOR
private static final float LOAD_FACTOR- See Also:
-
HASH_MULTIPLIER
private static final long HASH_MULTIPLIER- See Also:
-
EMPTY
private static final long EMPTY- See Also:
-
TOMBSTONE
private static final long TOMBSTONE- See Also:
-
tokens
private long[] tokens -
registrationIds
private int[] registrationIds -
ops
private byte[] ops -
userDatas
private long[] userDatas -
mask
private int mask -
maxSize
private int maxSize -
size
private int size -
tombstones
private int tombstones -
nextSequence
-
-
Constructor Details
-
PendingOpMap
PendingOpMap(int initialCapacity)
-
-
Method Details
-
nextToken
long nextToken() -
registerNormal
void registerNormal(long token, int registrationId, byte op, long userData) -
findSlot
int findSlot(long token) -
registrationId
int registrationId(int slot) -
op
byte op(int slot) -
userData
long userData(int slot) -
release
void release(int slot) -
insertAt
private void insertAt(int index, long token, int registrationId, byte op, long userData) -
rehash
private void rehash(int newCapacity) -
insertDuringRehash
private void insertDuringRehash(long token, int registrationId, byte op, long userData) -
token
static long token(long sequence) Slow-path and internal tokens are negative so they can be distinguished from packed fast-path userdata by checking bit 63. -
tokenSequence
static long tokenSequence(long token) -
hashIndex
private static int hashIndex(long key, int mask) -
probeNext
private int probeNext(int index) -
calcMaxSize
private static int calcMaxSize(int capacity) -
expandCapacity
private static int expandCapacity(int capacity)
-