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.WritableByteChannel
A 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 UnixSocketChannel
channel
-
Constructor Summary
Constructors Constructor Description UnselectableByteChannel(UnixSocketChannel channel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
boolean
isOpen()
int
read(java.nio.ByteBuffer dst)
int
write(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:
write
in interfacejava.nio.channels.WritableByteChannel
- Throws:
java.io.IOException
-
read
public int read(java.nio.ByteBuffer dst) throws java.io.IOException
- Specified by:
read
in interfacejava.nio.channels.ReadableByteChannel
- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interfacejava.nio.channels.Channel
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.nio.channels.Channel
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-