Note
This class was copied from
org.springframework.http.server.reactive.ChannelSendOperator and is
identical to it. It's used for the same purpose, i.e. the ability to switch to
alternate handling via annotated exception handler methods if the output
publisher starts with an error.
----------------------
Given a write function that accepts a source Publisher<T> to write
with and returns Publisher<Void> for the result, this operator helps
to defer the invocation of the write function, until we know if the source
publisher will begin publishing without an error. If the first emission is
an error, the write function is bypassed, and the error is sent directly
through the result publisher. Otherwise the write function is invoked.
| Modifier and Type | Class and Description |
|---|---|
| private static enum | |
| private class | ChannelSendOperator.WriteBarrier
A barrier inserted between the write source and the write subscriber (i.e. the HTTP server adapter) that pre-fetches and waits for the first signal before deciding whether to hook in to the write subscriber. |
| private class | ChannelSendOperator.WriteCompletionBarrier
We need an extra barrier between the WriteBarrier itself and the actual completion subscriber. |
| Modifier and Type | Field and Description |
|---|---|
| private final Flux | |
| private final Function |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public Object | scanUnsafe(Scannable.
a keyAttr to resolve for the component.Implements reactor. |
| public void | subscribe(CoreSubscriber<? super Void>
the actual)Subscriber interested into the published sequenceImplements abstract reactor. Implements reactor. Publisher#subscribe(Subscriber) that will bypass
Hooks#onLastOperator(Function) pointcut.
|