Git Product home page Git Product logo

Comments (4)

cytnju avatar cytnju commented on August 11, 2024

I know that BackpressureManagingHandler may help controll the flow in write aspect,but how it works in read aspect?

from rxnetty.

cytnju avatar cytnju commented on August 11, 2024

and I want to know How to use this feature when I want to add a ChannleHandler to the pipeline.
this way?
image
or this way?
image

from rxnetty.

cytnju avatar cytnju commented on August 11, 2024

@jamesgorman2 would you please do me a favor?

from rxnetty.

jamesgorman2 avatar jamesgorman2 commented on August 11, 2024

Hi cynthju, answers below

BackpressureManagingHandler

I didn't write this, so I'm going on my reading of it and my best understanding of TCP.
For reading BackpressureManagingHandler delegates its behaviour to AbstractConnectionToChannelBridge.ReadProducer which is an RxJava producer tha handles the backpressure. It will tell BackpressureManagingHandler if it has active read requests, which will pass that to Netty. I guess this then uses native TCP behaviour to tell the writer to stop sending once the local receive buffer is full.

ChannelHandler
In this instance the behaviour is identical. The first will always add a new THandler to all connections. If the second can be set up to do it only to some connections, eg:

    TcpServer<ByteBuf, ByteBuf> s = TcpServer.newServer()
      .start(
        newConnection ->
          Math.random() < 0.5 ?
            newConnection.addChannelHandlerLast("TestHandler",new THandler()).ignoreInput() :
            newConnection.ignoreInput()
      );

from rxnetty.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.