-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
P3
-
Affects Version/s: 9
-
Component/s: core-libs
Http1Response uses a PushPublisher to control the byte buffer flow.
However, the PushPublisher makes assumptions that are not always true:
- The PushPublisher assumes it runs in a single thread: this is only
guaranteed if the request is sent in synchronous mode.
- The PushPublisher assumes that the consumer is always ready to
accept new items. In asynchronous mode, the consumer may
accept onNext in one thread, but emit Subscription.request() in
another thread - and will expect the publisher to wait before sending
the next item if it has not requested any.
However, the PushPublisher makes assumptions that are not always true:
- The PushPublisher assumes it runs in a single thread: this is only
guaranteed if the request is sent in synchronous mode.
- The PushPublisher assumes that the consumer is always ready to
accept new items. In asynchronous mode, the consumer may
accept onNext in one thread, but emit Subscription.request() in
another thread - and will expect the publisher to wait before sending
the next item if it has not requested any.
- relates to
-
JDK-8170592 The Flow.Subscription should be used to control WINDOW_UPDATE (in HTTP/2) and selector registration (HTTP/1.1)
-
- Open
-