Rxjava Flowables - Who controls the speed of events?

Hi there, I’m using the gRPC rxjava bindings. For any of the ledger API calls which return a Flowable can the java application limit the speed at which events are received on the Flowable? Or does the ledger API just send them at whatever speed it wants?

RxJava as a library and the Java bindings bridge between it and gRPC conform in full to the Reactive Streams TCK, which means that the speed of consumption is regulated by the built-in back-pressure mechanism (more traditionally referred to as flow control). In practice this means that a consumer will dynamically ask for as many items as the pipeline can process at any given point in time. Certain RxJava operators exist exclusively to regulate flow control by imposing limits in terms of time or space.