Clean up
- Removed unnecessary 'closed' flag and redundant close() calls, etc.
This commit is contained in:
parent
3fff8ce1d6
commit
bf62add6c7
@ -27,7 +27,6 @@ import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.SocketAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.channels.AsynchronousCloseException;
|
||||
import java.nio.channels.AsynchronousSocketChannel;
|
||||
import java.nio.channels.ClosedChannelException;
|
||||
import java.nio.channels.CompletionHandler;
|
||||
@ -66,7 +65,6 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
};
|
||||
|
||||
private final AioSocketChannelConfig config;
|
||||
private boolean closed;
|
||||
private boolean flushing;
|
||||
|
||||
public AioSocketChannel() {
|
||||
@ -155,11 +153,8 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
|
||||
@Override
|
||||
protected void doClose() throws Exception {
|
||||
if (!closed) {
|
||||
closed = true;
|
||||
javaChannel().close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isFlushPending() {
|
||||
@ -204,9 +199,6 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
|
||||
// Stop flushing if disconnected.
|
||||
if (!channel.isActive()) {
|
||||
if (!empty) {
|
||||
channel.notifyFlushFutures(new ClosedChannelException());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -223,20 +215,14 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
|
||||
@Override
|
||||
protected void failed0(Throwable cause, AioSocketChannel channel) {
|
||||
if (cause instanceof AsynchronousCloseException) {
|
||||
channel.closed = true;
|
||||
}
|
||||
|
||||
channel.notifyFlushFutures(cause);
|
||||
channel.pipeline().fireExceptionCaught(cause);
|
||||
if (cause instanceof IOException) {
|
||||
channel.unsafe().close(channel.unsafe().voidFuture());
|
||||
} else {
|
||||
|
||||
ByteBuf buf = channel.pipeline().outboundByteBuffer();
|
||||
if (!buf.readable()) {
|
||||
buf.discardReadBytes();
|
||||
}
|
||||
}
|
||||
|
||||
// Allow to have the next write pending
|
||||
channel.flushing = false;
|
||||
}
|
||||
@ -268,20 +254,18 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
}
|
||||
|
||||
} catch (Throwable t) {
|
||||
if (t instanceof ClosedChannelException) {
|
||||
channel.closed = true;
|
||||
}
|
||||
|
||||
if (read) {
|
||||
read = false;
|
||||
pipeline.fireInboundBufferUpdated();
|
||||
}
|
||||
|
||||
if (!(t instanceof ClosedChannelException)) {
|
||||
pipeline.fireExceptionCaught(t);
|
||||
|
||||
if (t instanceof IOException) {
|
||||
channel.unsafe().close(channel.unsafe().voidFuture());
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (read) {
|
||||
pipeline.fireInboundBufferUpdated();
|
||||
@ -298,12 +282,11 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
@Override
|
||||
protected void failed0(Throwable t, AioSocketChannel channel) {
|
||||
if (t instanceof ClosedChannelException) {
|
||||
channel.closed = true;
|
||||
// TODO: This seems wrong!
|
||||
return;
|
||||
}
|
||||
|
||||
channel.pipeline().fireExceptionCaught(t);
|
||||
|
||||
if (t instanceof IOException) {
|
||||
channel.unsafe().close(channel.unsafe().voidFuture());
|
||||
} else {
|
||||
@ -326,9 +309,6 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne
|
||||
|
||||
@Override
|
||||
protected void failed0(Throwable exc, AioSocketChannel channel) {
|
||||
if (exc instanceof AsynchronousCloseException) {
|
||||
channel.closed = true;
|
||||
}
|
||||
((AsyncUnsafe) channel.unsafe()).connectFailed(exc);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user