Package jnr.unixsocket
Class UnixSocket.UnselectableByteChannel
- java.lang.Object
-
- jnr.unixsocket.UnixSocket.UnselectableByteChannel
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.nio.channels.Channel,java.nio.channels.ReadableByteChannel,java.nio.channels.WritableByteChannel
- Enclosing class:
- UnixSocket
static final class UnixSocket.UnselectableByteChannel extends java.lang.Object implements java.nio.channels.ReadableByteChannel, java.nio.channels.WritableByteChannelA byte channel that doesn't implementSelectableChannel. Though that type isn't in the public API, if the channel passed in implements that interface then unwanted synchronization is performed which can harm concurrency and can cause deadlocks. https://bugs.openjdk.java.net/browse/JDK-4774871
-
-
Field Summary
Fields Modifier and Type Field Description private UnixSocketChannelchannel
-
Constructor Summary
Constructors Constructor Description UnselectableByteChannel(UnixSocketChannel channel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleanisOpen()intread(java.nio.ByteBuffer dst)intwrite(java.nio.ByteBuffer src)
-
-
-
Field Detail
-
channel
private final UnixSocketChannel channel
-
-
Constructor Detail
-
UnselectableByteChannel
UnselectableByteChannel(UnixSocketChannel channel)
-
-
Method Detail
-
write
public int write(java.nio.ByteBuffer src) throws java.io.IOException- Specified by:
writein interfacejava.nio.channels.WritableByteChannel- Throws:
java.io.IOException
-
read
public int read(java.nio.ByteBuffer dst) throws java.io.IOException- Specified by:
readin interfacejava.nio.channels.ReadableByteChannel- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejava.nio.channels.Channel
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.nio.channels.Channel- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-