Package io.micronaut.http.body.stream
Interface BufferConsumer
- All Known Implementing Classes:
BaseSharedBuffer
,BaseSharedBuffer.AsFlux
,ConcatenatingSubscriber
,ReactiveByteBufferByteBody.SharedBuffer
,StreamingNettyByteBody.SharedBuffer
This is a reactor-like API for streaming bytes. It's a bit better than reactor because it's more
explicit about reference counting semantics, has more fine-grained controls for cancelling, and
has more relaxed concurrency semantics.
- Since:
- 4.8.0
- Author:
- Jonas Konrad
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
This interface manages the backpressure for data consumptions. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(@NonNull ReadBuffer rb) Send a buffer to this consumer.void
complete()
Signal normal completion of the stream.default void
discard()
Signal that the upstream has discarded the remaining data, as requested byBufferConsumer.Upstream.allowDiscard()
.void
Signal an upstream error.
-
Method Details
-
add
Send a buffer to this consumer. Ownership of the buffer transfers to the consumer.- Parameters:
rb
- The buffer
-
complete
void complete()Signal normal completion of the stream. -
discard
default void discard()Signal that the upstream has discarded the remaining data, as requested byBufferConsumer.Upstream.allowDiscard()
. -
error
Signal an upstream error.- Parameters:
e
- The error
-