类 ChannelSendOperator<T>

java.lang.Object
reactor.core.publisher.Mono<Void>
cn.taketoday.http.server.reactive.ChannelSendOperator<T>
类型参数:
T - the type of element signaled
所有已实现的接口:
org.reactivestreams.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.
从以下版本开始:
4.0
作者:
Rossen Stoyanchev, Stephane Maldini
  • 嵌套类概要

    嵌套类
    修饰符和类型
    说明
    private static enum 
     
    private class 
    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 
    We need an extra barrier between the WriteBarrier itself and the actual completion subscriber.

    从接口继承的嵌套类/接口 reactor.core.Scannable

    reactor.core.Scannable.Attr<T extends Object>
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    private final reactor.core.publisher.Flux<T>
     
    private final Function<org.reactivestreams.Publisher<T>,org.reactivestreams.Publisher<Void>>
     

    从接口继承的字段 reactor.core.Scannable

    OPERATOR_NAME_UNRELATED_WORDS_PATTERN
  • 构造器概要

    构造器
    构造器
    说明
    ChannelSendOperator(org.reactivestreams.Publisher<? extends T> source, Function<org.reactivestreams.Publisher<T>,org.reactivestreams.Publisher<Void>> writeFunction)
     
  • 方法概要

    修饰符和类型
    方法
    说明
    scanUnsafe(reactor.core.Scannable.Attr key)
     
    void
    subscribe(reactor.core.CoreSubscriber<? super Void> actual)
     

    从类继承的方法 reactor.core.publisher.Mono

    and, as, block, block, blockOptional, blockOptional, cache, cache, cache, cache, cache, cacheInvalidateIf, cacheInvalidateWhen, cacheInvalidateWhen, cancelOn, cast, checkpoint, checkpoint, checkpoint, concatWith, contextCapture, 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, 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, onErrorComplete, onErrorComplete, onErrorComplete, 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, singleOptional, 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, 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

    从类继承的方法 java.lang.Object

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

    从接口继承的方法 reactor.core.Scannable

    actuals, inners, isScanAvailable, name, parents, scan, scanOrDefault, stepName, steps, tags, tagsDeduplicated
  • 字段详细资料

    • source

      private final reactor.core.publisher.Flux<T> source
    • writeFunction

      private final Function<org.reactivestreams.Publisher<T>,org.reactivestreams.Publisher<Void>> writeFunction
  • 构造器详细资料

    • ChannelSendOperator

      public ChannelSendOperator(org.reactivestreams.Publisher<? extends T> source, Function<org.reactivestreams.Publisher<T>,org.reactivestreams.Publisher<Void>> writeFunction)
  • 方法详细资料

    • scanUnsafe

      @Nullable public Object scanUnsafe(reactor.core.Scannable.Attr key)
      指定者:
      scanUnsafe 在接口中 reactor.core.Scannable
    • subscribe

      public void subscribe(reactor.core.CoreSubscriber<? super Void> actual)
      指定者:
      subscribe 在接口中 reactor.core.CorePublisher<T>
      指定者:
      subscribe 在类中 reactor.core.publisher.Mono<Void>