在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);
答案 0 :(得分:1)
从Vert.x 3.5.1开始,EventBus不支持背压。有计划在下一版本的EventBus和websockets之上实现带背压的流式传输。