@Override protected boolean isFireExceptionCaughtLater(ChannelEvent event, Throwable actualCause) { Channel channel = event.getChannel(); boolean fireLater = false; if (channel instanceof AbstractNioChannel<?>) { fireLater = !AbstractNioWorker.isIoThread((AbstractNioChannel<?>) channel); } return fireLater; } }
/** * Execute the {@link Runnable} in a IO-Thread * * @param task * the {@link Runnable} to execute * @param alwaysAsync * {@code true} if the {@link Runnable} should be executed * in an async fashion even if the current Thread == IO Thread */ public void executeInIoThread(Runnable task, boolean alwaysAsync) { if (!alwaysAsync && isIoThread()) { task.run(); } else { registerTask(task); } }
void setInterestOps(final AbstractNioChannel<?> channel, final ChannelFuture future, final int interestOps) { boolean iothread = isIoThread(channel); if (!iothread) { channel.getPipeline().execute(new Runnable() {
if (isIoThread(channel)) { fireExceptionCaught(channel, cause); } else {
boolean addOpWrite = false; boolean removeOpWrite = false; boolean iothread = isIoThread(channel);
protected void close(AbstractNioChannel<?> channel, ChannelFuture future) { boolean connected = channel.isConnected(); boolean bound = channel.isBound(); boolean iothread = isIoThread(channel);
@Override protected boolean isFireExceptionCaughtLater(ChannelEvent event, Throwable actualCause) { Channel channel = event.getChannel(); boolean fireLater = false; if (channel instanceof AbstractNioChannel<?>) { fireLater = !AbstractNioWorker.isIoThread((AbstractNioChannel<?>) channel); } return fireLater; } }
/** * Execute the {@link Runnable} in a IO-Thread * * @param task * the {@link Runnable} to execute * @param alwaysAsync * {@code true} if the {@link Runnable} should be executed * in an async fashion even if the current Thread == IO Thread */ public void executeInIoThread(Runnable task, boolean alwaysAsync) { if (!alwaysAsync && isIoThread()) { task.run(); } else { registerTask(task); } }
if (isIoThread(channel)) { fireExceptionCaught(channel, cause); } else {
public void setInterestOps(final AbstractNioChannel<?> channel, final ChannelFuture future, final int interestOps) { boolean iothread = isIoThread(channel); if (!iothread) { channel.getPipeline().execute(new Runnable() {
boolean addOpWrite = false; boolean removeOpWrite = false; boolean iothread = isIoThread(channel);
public void close(AbstractNioChannel<?> channel, ChannelFuture future) { boolean connected = channel.isConnected(); boolean bound = channel.isBound(); boolean iothread = isIoThread(channel);