TrafficShapingHandler, похоже, не работает - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь реализовать TCP-сервер в Netty, который использует GlobalTrafficShapingHandler для скорости около 100 КБ / с. Он читает в сообщениях XML около 1 КБ на сообщение.

У меня есть отдельное приложение, запускающее xml на полную мощность, но, похоже, оно не подавлено TrafficShaper.

Основной класс

    this.throttleHandler = new GlobalTrafficShapingHandler(
            Executors.newScheduledThreadPool(1),
            100*ONE_KB,
            100*ONE_KB,
            5000);
private ServerBootstrap createStreamingServer() {
    return new ServerBootstrap()
            .group(bossGroup, workerGroup)
            .channel(NioServerSocketChannel.class)
            .childHandler(new ChannelInitializer<SocketChannel>() {
                  ChannelPipeline pipeline = ch.pipeline();
                  pipeline.addLast("bandwitdh-handler", this.throttleHandler);
                  pipeline.addLast("xml-decoder", new XmlFrameDecoder(1048576);
                  pipeline.addLast("string-decoder", new StringDecoder());
                  pipeline.addLast("inputHandler", new SimpleChannelInboundHandler() {
                      //DO STUFF
                  }
                  pipeline.addLast("string-encoder", new StringEncoder());
            }
}

Похоже, что это совсем не замедляет пропускную способность, и я читаю пропускную способность около 1 МБ / с в любом направлении. Кто-нибудь знает, что может быть причиной этого?

...