Class FileDescriptor
java.lang.Object
io.netty.channel.unix.FileDescriptor
- Direct Known Subclasses:
Socket
Native
FileDescriptor implementation which allows to wrap an int and provide a
FileDescriptor for it.-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final int(package private) intBit map = [Output Shutdown | Input Shutdown | Closed]private static final intprivate static final intprivate static final intprivate static final intprivate static final AtomicIntegerFieldUpdater<FileDescriptor> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) final booleancasState(int expected, int update) voidclose()Close the file descriptor.private static intclose(int fd) booleanstatic FileDescriptorOpen a newFileDescriptorfor the givenFile.static FileDescriptorOpen a newFileDescriptorfor the given path.inthashCode()(package private) static intinputShutdown(int state) final intintValue()Return the int value of the filedescriptor.(package private) static booleanisClosed(int state) (package private) static booleanisInputShutdown(int state) booleanisOpen()Returnstrueif the file descriptor is open.(package private) static booleanisOutputShutdown(int state) protected booleanprivate static longnewPipe()private static int(package private) static intoutputShutdown(int state) static FileDescriptor[]pipe()private static intread(int fd, ByteBuffer buf, int pos, int limit) final intread(ByteBuffer buf, int pos, int limit) private static intreadAddress(int fd, long address, int pos, int limit) final intreadAddress(long address, int pos, int limit) toString()private static intwrite(int fd, ByteBuffer buf, int pos, int limit) final intwrite(ByteBuffer buf, int pos, int limit) private static intwriteAddress(int fd, long address, int pos, int limit) final intwriteAddress(long address, int pos, int limit) private static longwritev(int fd, ByteBuffer[] buffers, int offset, int length, long maxBytesToWrite) final longwritev(ByteBuffer[] buffers, int offset, int length, long maxBytesToWrite) private static longwritevAddresses(int fd, long memoryAddress, int length) final longwritevAddresses(long memoryAddress, int length)
-
Field Details
-
stateUpdater
-
STATE_CLOSED_MASK
private static final int STATE_CLOSED_MASK- See Also:
-
STATE_INPUT_SHUTDOWN_MASK
private static final int STATE_INPUT_SHUTDOWN_MASK- See Also:
-
STATE_OUTPUT_SHUTDOWN_MASK
private static final int STATE_OUTPUT_SHUTDOWN_MASK- See Also:
-
STATE_ALL_MASK
private static final int STATE_ALL_MASK- See Also:
-
state
volatile int stateBit map = [Output Shutdown | Input Shutdown | Closed] -
fd
final int fd
-
-
Constructor Details
-
FileDescriptor
public FileDescriptor(int fd)
-
-
Method Details
-
intValue
public final int intValue()Return the int value of the filedescriptor. -
markClosed
protected boolean markClosed() -
close
-
isOpen
public boolean isOpen()Returnstrueif the file descriptor is open. -
write
- Throws:
IOException
-
writeAddress
- Throws:
IOException
-
writev
public final long writev(ByteBuffer[] buffers, int offset, int length, long maxBytesToWrite) throws IOException - Throws:
IOException
-
writevAddresses
- Throws:
IOException
-
read
- Throws:
IOException
-
readAddress
- Throws:
IOException
-
toString
-
equals
-
hashCode
-
from
Open a newFileDescriptorfor the given path.- Throws:
IOException
-
from
Open a newFileDescriptorfor the givenFile.- Throws:
IOException
-
pipe
- Returns:
- [0] = read end, [1] = write end
- Throws:
IOException
-
casState
final boolean casState(int expected, int update) -
isClosed
static boolean isClosed(int state) -
isInputShutdown
static boolean isInputShutdown(int state) -
isOutputShutdown
static boolean isOutputShutdown(int state) -
inputShutdown
static int inputShutdown(int state) -
outputShutdown
static int outputShutdown(int state) -
open
-
close
private static int close(int fd) -
write
-
writeAddress
private static int writeAddress(int fd, long address, int pos, int limit) -
writev
private static long writev(int fd, ByteBuffer[] buffers, int offset, int length, long maxBytesToWrite) -
writevAddresses
private static long writevAddresses(int fd, long memoryAddress, int length) -
read
-
readAddress
private static int readAddress(int fd, long address, int pos, int limit) -
newPipe
private static long newPipe()
-