在 Vert.x documentation ,它显示了写入已满套接字的模式。
NetServer server = vertx.createNetServer(
new NetServerOptions().setPort(1234).setHost("localhost")
);
server.connectHandler(sock -> {
sock.handler(buffer -> {
sock.write(buffer);
if (sock.writeQueueFull()) {
sock.pause();
sock.drainHandler(done -> {
sock.resume();
});
}
});
}).listen();
如果您通过 EventBus 从不同的 Verticle 写入套接字,如何实现此模式?
一个例子:
vertx.eventBus().publish(writeHandlerID, buffer);
最佳答案
从 Vert.x 3.5.1 开始,EventBus 不支持背压。计划在下一版本中在 EventBus 和 websockets 之上实现带有背压的流式传输。
关于java - 使用 EventBus 时处理 Vert.x NetSocket writeQueueFull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50003087/