Package org.jruby.util.io
Class FilenoUtil
java.lang.Object
org.jruby.util.io.FilenoUtil
Utilities for working with native fileno and Java structures that wrap them.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classstatic interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final NonBlockingHashMapLong<ChannelFD>static final intprotected final AtomicInteger(package private) static final Loggerprivate final jnr.posix.POSIXprivate final FilenoUtil.WinC -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcloseFilenoHandle(int fd) static intstatic intfilenoFrom(Channel channel) intfilenoFromHandleIn(Channel channel, int flags) static FileDescriptorgetDescriptorFromChannel(Channel channel) private static intgetFilenoUsingReflection(Channel channel) private static jnr.posix.HANDLEgetHandleUsingReflection(Channel channel) intintgetWrapperFromFileno(int fileno) private static jnr.posix.HANDLEhandleFrom(Channel channel) static booleanisFake(int fileno) voidregisterWrapper(int fileno, ChannelFD wrapper) voidunregisterWrapper(int fileno)
-
Field Details
-
FIRST_FAKE_FD
public static final int FIRST_FAKE_FD- See Also:
-
internalFilenoIndex
-
filenoMap
-
posix
private final jnr.posix.POSIX posix -
winc
-
LOG
-
-
Constructor Details
-
FilenoUtil
public FilenoUtil(jnr.posix.POSIX posix)
-
-
Method Details
-
getDescriptorFromChannel
-
getWrapperFromFileno
-
registerWrapper
-
unregisterWrapper
public void unregisterWrapper(int fileno) -
getNumberOfWrappers
public int getNumberOfWrappers() -
getNewFileno
public int getNewFileno() -
isFake
public static boolean isFake(int fileno) -
filenoFrom
-
getFilenoUsingReflection
-
filenoFrom
-
handleFrom
-
getHandleUsingReflection
-
filenoFromHandleIn
-
closeFilenoHandle
public int closeFilenoHandle(int fd)
-