Class ChannelSendOperator<T>

java.lang.Object
reactor.core.publisher.Mono<Void>
org.springframework.http.server.reactive.ChannelSendOperator<T>
Type Parameters:
T - the type of element signaled
All Implemented Interfaces:
Publisher<Void>, reactor.core.CorePublisher<Void>, reactor.core.Scannable

public class ChannelSendOperator<T> extends reactor.core.publisher.Mono<Void> implements reactor.core.Scannable
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.
Since:
5.0
Author:
Rossen Stoyanchev, Stephane Maldini
  • Nested Class Summary

    Nested classes/interfaces inherited from interface reactor.core.Scannable

    reactor.core.Scannable.Attr<T extends Object>
  • Field Summary

    Fields inherited from interface reactor.core.Scannable

    OPERATOR_NAME_UNRELATED_WORDS_PATTERN
  • Constructor Summary

    Constructors
    Constructor
    Description
    ChannelSendOperator(Publisher<? extends T> source, Function<Publisher<T>,Publisher<Void>> writeFunction)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    scanUnsafe(reactor.core.Scannable.Attr key)
     
    void
    subscribe(reactor.core.CoreSubscriber<? super Void> actual)
     

    Methods inherited from class reactor.core.publisher.Mono

    and, as, block, block, blockOptional, blockOptional, cache, cache, cache, cache, cache, cacheInvalidateIf, cacheInvalidateWhen, cacheInvalidateWhen, cancelOn, cast, checkpoint, checkpoint, checkpoint, concatWith, contextWrite, contextWrite, create, defaultIfEmpty, defer, deferContextual, delay, delay, delayElement, delayElement, delaySubscription, delaySubscription, delaySubscription, delayUntil, dematerialize, doAfterTerminate, doFinally, doFirst, doOnCancel, doOnDiscard, doOnEach, doOnError, doOnError, doOnError, doOnNext, doOnRequest, doOnSubscribe, doOnSuccess, doOnTerminate, elapsed, elapsed, empty, error, error, expand, expand, expandDeep, expandDeep, filter, filterWhen, first, first, firstWithSignal, firstWithSignal, firstWithValue, firstWithValue, flatMap, flatMapIterable, flatMapMany, flatMapMany, flux, from, fromCallable, fromCompletionStage, fromCompletionStage, fromDirect, fromFuture, fromFuture, fromRunnable, fromSupplier, handle, hasElement, hide, ignoreElement, ignoreElements, just, justOrEmpty, justOrEmpty, log, log, log, log, log, log, map, mapNotNull, materialize, mergeWith, metrics, name, never, ofType, onAssembly, onErrorContinue, onErrorContinue, onErrorContinue, onErrorMap, onErrorMap, onErrorMap, onErrorResume, onErrorResume, onErrorResume, onErrorReturn, onErrorReturn, onErrorReturn, onErrorStop, onTerminateDetach, or, publish, publishOn, repeat, repeat, repeat, repeat, repeatWhen, repeatWhenEmpty, repeatWhenEmpty, retry, retry, retryWhen, sequenceEqual, sequenceEqual, sequenceEqual, share, single, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeWith, switchIfEmpty, tag, take, take, takeUntilOther, tap, tap, tap, then, then, thenEmpty, thenMany, thenReturn, timed, timed, timeout, timeout, timeout, timeout, timeout, timeout, timestamp, timestamp, toFuture, toProcessor, toString, transform, transformDeferred, transformDeferredContextual, using, using, usingWhen, usingWhen, when, when, whenDelayError, whenDelayError, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipDelayError, zipDelayError, zipDelayError, zipDelayError, zipDelayError, zipDelayError, zipDelayError, zipDelayError, zipDelayError, zipWhen, zipWhen, zipWith, zipWith

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface reactor.core.Scannable

    actuals, inners, isScanAvailable, name, parents, scan, scanOrDefault, stepName, steps, tags
  • Constructor Details

  • Method Details

    • scanUnsafe

      @Nullable public Object scanUnsafe(reactor.core.Scannable.Attr key)
      Specified by:
      scanUnsafe in interface reactor.core.Scannable
    • subscribe

      public void subscribe(reactor.core.CoreSubscriber<? super Void> actual)
      Specified by:
      subscribe in interface reactor.core.CorePublisher<T>
      Specified by:
      subscribe in class reactor.core.publisher.Mono<Void>