Package io.netty.channel.epoll
Class EpollEventArray
- java.lang.Object
-
- io.netty.channel.epoll.EpollEventArray
-
@UnstableApi public final class EpollEventArray extends java.lang.Object
This is an internal datastructure which can be directly passed to epoll_wait to reduce the overhead. typedef union epoll_data { void *ptr; int fd; uint32_t u32; uint64_t u64; } epoll_data_t; struct epoll_event { uint32_t events; // Epoll events epoll_data_t data; // User data variable }; We usefdif theepoll_data unionto store the actual file descriptor of anAbstractEpollChanneland so be able to map it later.
-
-
Field Summary
Fields Modifier and Type Field Description private static intEPOLL_DATA_OFFSETprivate static intEPOLL_EVENT_SIZEprivate intlengthprivate java.nio.ByteBuffermemoryprivate longmemoryAddress
-
Constructor Summary
Constructors Constructor Description EpollEventArray(int length)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static intcalculateBufferCapacity(int capacity)(package private) intevents(int index)Return the events for theepoll_eventon this index.(package private) intfd(int index)Return the file descriptor for theepoll_eventon this index.(package private) voidfree()Free thisEpollEventArray.private intgetInt(int index, int offset)(package private) voidincrease()Increase the storage of thisEpollEventArray.(package private) intlength()Return the length of theEpollEventArraywhich represent the maximum number ofepoll_eventsthat can be stored in it.(package private) longmemoryAddress()Return thememoryAddresswhich points to the start of thisEpollEventArray.
-
-
-
Method Detail
-
memoryAddress
long memoryAddress()
Return thememoryAddresswhich points to the start of thisEpollEventArray.
-
length
int length()
Return the length of theEpollEventArraywhich represent the maximum number ofepoll_eventsthat can be stored in it.
-
increase
void increase()
Increase the storage of thisEpollEventArray.
-
free
void free()
Free thisEpollEventArray. Any usage after calling this method may segfault the JVM!
-
events
int events(int index)
Return the events for theepoll_eventon this index.
-
fd
int fd(int index)
Return the file descriptor for theepoll_eventon this index.
-
getInt
private int getInt(int index, int offset)
-
calculateBufferCapacity
private static int calculateBufferCapacity(int capacity)
-
-