【问题标题】:Handling Vert.x NetSocket writeQueueFull when using EventBus使用 EventBus 时处理 Vert.x NetSocket writeQueueFull
【发布时间】:2018-04-24 13:35:35
【问题描述】:

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);

【问题讨论】:

    标签: java sockets vert.x


    【解决方案1】:

    从 Vert.x 3.5.1 开始,EventBus 不支持背压。计划在下一版本中在 EventBus 和 websocket 之上实现带背压的流式传输。

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2021-02-20
      • 2021-06-20
      • 2019-11-16
      相关资源
      最近更新 更多