类 ChannelSendOperator.WriteCompletionBarrier

java.lang.Object
cn.taketoday.http.server.reactive.ChannelSendOperator.WriteCompletionBarrier
所有已实现的接口:
org.reactivestreams.Subscriber<Void>, org.reactivestreams.Subscription, reactor.core.CoreSubscriber<Void>
封闭类:
ChannelSendOperator<T>

private class ChannelSendOperator.WriteCompletionBarrier extends Object implements reactor.core.CoreSubscriber<Void>, org.reactivestreams.Subscription
We need an extra barrier between the WriteBarrier itself and the actual completion subscriber.

The completionSubscriber is subscribed initially to the WriteBarrier. Later after the first signal is received, we need one more subscriber instance (per spec can only subscribe once) to subscribe to the write function and switch to delegating completion signals from it.

  • 字段详细资料

    • completionSubscriber

      private final reactor.core.CoreSubscriber<? super Void> completionSubscriber
    • writeBarrier

      private final ChannelSendOperator<T>.WriteBarrier writeBarrier
    • subscription

      @Nullable private org.reactivestreams.Subscription subscription
  • 构造器详细资料

  • 方法详细资料

    • connect

      public void connect()
      Connect the underlying completion subscriber to this barrier in order to track cancel signals and pass them on to the write barrier.
    • onSubscribe

      public void onSubscribe(org.reactivestreams.Subscription subscription)
      指定者:
      onSubscribe 在接口中 reactor.core.CoreSubscriber<Void>
      指定者:
      onSubscribe 在接口中 org.reactivestreams.Subscriber<Void>
    • onNext

      public void onNext(Void aVoid)
      指定者:
      onNext 在接口中 org.reactivestreams.Subscriber<Void>
    • onError

      public void onError(Throwable ex)
      指定者:
      onError 在接口中 org.reactivestreams.Subscriber<Void>
    • onComplete

      public void onComplete()
      指定者:
      onComplete 在接口中 org.reactivestreams.Subscriber<Void>
    • currentContext

      public reactor.util.context.Context currentContext()
      指定者:
      currentContext 在接口中 reactor.core.CoreSubscriber<Void>
    • request

      public void request(long n)
      指定者:
      request 在接口中 org.reactivestreams.Subscription
    • cancel

      public void cancel()
      指定者:
      cancel 在接口中 org.reactivestreams.Subscription