pipelineWrite

This commit is contained in:
redkale
2024-10-21 14:29:27 +08:00
parent c524e15267
commit e2a3560661
2 changed files with 7 additions and 5 deletions

View File

@@ -208,10 +208,10 @@ public abstract class AsyncConnection implements Channel, AutoCloseable {
/** /**
* 快速发送 * 快速发送
* *
* @see org.redkale.net.AsyncNioConnection#pipelineWrite(org.redkale.net.PipelinePacket) * @see org.redkale.net.AsyncNioConnection#pipelineWrite(org.redkale.net.PipelinePacket...)
* @param packet PipelinePacket * @param packets PipelinePacket[]
*/ */
public abstract void pipelineWrite(PipelinePacket packet); public abstract void pipelineWrite(PipelinePacket... packets);
public abstract boolean isTCP(); public abstract boolean isTCP();

View File

@@ -158,7 +158,7 @@ abstract class AsyncNioConnection extends AsyncConnection {
} }
@Override @Override
public final void pipelineWrite(PipelinePacket packet) { public final void pipelineWrite(PipelinePacket... packets) {
if (pipelineWriteQueue == null) { if (pipelineWriteQueue == null) {
pipelineLock.lock(); pipelineLock.lock();
try { try {
@@ -169,7 +169,9 @@ abstract class AsyncNioConnection extends AsyncConnection {
pipelineLock.unlock(); pipelineLock.unlock();
} }
} }
for (PipelinePacket packet : packets) {
this.pipelineWriteQueue.offer(packet); this.pipelineWriteQueue.offer(packet);
}
this.ioWriteThread.execute(this::pipelineDoWrite); this.ioWriteThread.execute(this::pipelineDoWrite);
} }