void writeFromTaskLoop(AbstractNioChannel<?> ch) { if (!ch.writeSuspended) { write0(ch); } }
void writeFromSelectorLoop(final SelectionKey k) { AbstractNioChannel<?> ch = (AbstractNioChannel<?>) k.attachment(); ch.writeSuspended = false; write0(ch); }
void writeFromUserCode(final AbstractNioChannel<?> channel) { if (!channel.isConnected()) { cleanUpWriteBuffer(channel); return; } if (scheduleWriteIfNecessary(channel)) { return; } // From here, we are sure Thread.currentThread() == workerThread. if (channel.writeSuspended) { return; } if (channel.inWriteNowLoop) { return; } write0(channel); }
void writeFromTaskLoop(AbstractNioChannel<?> ch) { if (!ch.writeSuspended) { write0(ch); } }
void writeFromSelectorLoop(final SelectionKey k) { AbstractNioChannel<?> ch = (AbstractNioChannel<?>) k.attachment(); ch.writeSuspended = false; write0(ch); }
@Override protected void write0(final AbstractNioChannel<?> channel) { if (channel instanceof NioSocketChannel || channel instanceof NioChildDatagramChannel) { super.write0(channel); } else { write0Udp(channel); } }
public void writeFromUserCode(final AbstractNioChannel<?> channel) { if (!channel.isConnected()) { cleanUpWriteBuffer(channel); return; } if (scheduleWriteIfNecessary(channel)) { return; } // From here, we are sure Thread.currentThread() == workerThread. if (channel.writeSuspended) { return; } if (channel.inWriteNowLoop) { return; } write0(channel); }