• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CoreSubscriber类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中reactor.core.CoreSubscriber的典型用法代码示例。如果您正苦于以下问题:Java CoreSubscriber类的具体用法?Java CoreSubscriber怎么用?Java CoreSubscriber使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CoreSubscriber类属于reactor.core包,在下文中一共展示了CoreSubscriber类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: subscribe

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Override
public final void subscribe(final CoreSubscriber<? super Void> s) {
	if(future.isDone()){
		if(future.isSuccess()){
			Operators.complete(s);
		}
		else{
			Operators.error(s, future.cause());
		}
		return;
	}

	FutureSubscription<F> fs = new FutureSubscription<>(future, s);
	s.onSubscribe(fs);
	future.addListener(fs);
}
 
开发者ID:reactor,项目名称:reactor-netty,代码行数:17,代码来源:FutureMono.java


示例2: scanThenAcceptInner

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanThenAcceptInner() {
	CoreSubscriber<String> actual = new LambdaMonoSubscriber<>(null, e -> {}, null, null);
	MonoIgnoreThen.ThenIgnoreMain<String> main = new MonoIgnoreThen.ThenIgnoreMain<>(actual, new Publisher[0], Mono.just("foo"));

	MonoIgnoreThen.ThenAcceptInner<String> test = new MonoIgnoreThen.ThenAcceptInner<>(main);
	Subscription parent = Operators.emptySubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(main);

	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
	test.onError(new IllegalStateException("boom"));
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();

	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	test.cancel();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:21,代码来源:MonoThenIgnoreTest.java


示例3: scanInner

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanInner() {
    CoreSubscriber<String> actual = new LambdaSubscriber<>(null, e -> {}, null, null);
    FluxFilterWhen.FluxFilterWhenSubscriber<String> main = new FluxFilterWhen.FluxFilterWhenSubscriber<>(actual, t -> Mono.just(true), 789);

    FluxFilterWhen.FilterWhenInner test = new FluxFilterWhen.FilterWhenInner(main, true);
    Subscription sub = Operators.emptySubscription();
    test.onSubscribe(sub);

    assertThat(test.scan(Scannable.Attr.PREFETCH)).isEqualTo(Integer.MAX_VALUE);
    assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(main);
    assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(sub);
    assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(1L);

    assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
    test.onNext(false);
    assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();
    assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(0L);

    assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
    test.cancel();
    assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:24,代码来源:FluxFilterWhenTest.java


示例4: scanPostOnSubscribeSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanPostOnSubscribeSubscriber() {
	CoreSubscriber<String> s = new LambdaSubscriber<>(null, null, null, null);
	StrictSubscriber<String> test = new StrictSubscriber<>(s);

	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(s);
	assertThat(test.scan(Scannable.Attr.PARENT)).isNull();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(0L);

	test.request(2);
	assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(2L);

	Subscription parent = Operators.cancelledSubscription();
	test.onSubscribe(parent);
	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:19,代码来源:StrictSubscriberTest.java


示例5: subscribe

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Override
public void subscribe(CoreSubscriber<? super R> actual) {

	JoinSubscription<TLeft, TRight, TLeftEnd, TRightEnd, R> parent =
			new JoinSubscription<>(actual,
					leftEnd,
					rightEnd,
					resultSelector,
					queueSupplier.get());

	actual.onSubscribe(parent);

	LeftRightSubscriber left = new LeftRightSubscriber(parent, true);
	parent.cancellations.add(left);
	LeftRightSubscriber right = new LeftRightSubscriber(parent, false);
	parent.cancellations.add(right);

	source.subscribe(left);
	other.subscribe(right);
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:21,代码来源:FluxJoin.java


示例6: scanSubscriberCancelled

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanSubscriberCancelled() {
	CoreSubscriber<String> actual = new LambdaSubscriber<>(null, e -> {}, null, null);
	FluxDetach.DetachSubscriber<String> test = new FluxDetach.DetachSubscriber<>(actual);
	Subscription parent = Operators.emptySubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();

	test.cancel();
	assertThat(test.scan(Scannable.Attr.PARENT)).isNull();
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isNull();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:19,代码来源:FluxDetachTest.java


示例7: scanOtherSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanOtherSubscriber() {
	CoreSubscriber<String> actual = new LambdaSubscriber<>(null, e -> {}, null,
			sub -> sub.request(100));
	FluxDelaySubscription.DelaySubscriptionOtherSubscriber<String, Integer> test = new FluxDelaySubscription.DelaySubscriptionOtherSubscriber<String, Integer>(
			actual, s -> {});
	Subscription parent = Operators.emptySubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(100L);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);

	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();

	test.onError(new IllegalStateException("boom"));
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();

	test.cancel();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:25,代码来源:FluxDelaySubscriptionTest.java


示例8: scanHasElements

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanHasElements() {
	CoreSubscriber<? super Boolean> actual = new LambdaMonoSubscriber<>(null, e -> {}, null, null);
	MonoHasElements.HasElementsSubscriber<String> test = new MonoHasElements.HasElementsSubscriber<>(actual);
	Subscription parent = Operators.emptySubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);
	assertThat(test.scan(Scannable.Attr.PREFETCH)).isEqualTo(Integer.MAX_VALUE);

	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();

	test.onComplete();
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:19,代码来源:MonoHasElementsTest.java


示例9: scanMultiSubscriptionSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanMultiSubscriptionSubscriber() {
	CoreSubscriber<Integer> actual = new LambdaSubscriber<>(null, null, null, null);
	MultiSubscriptionSubscriber<Integer, Integer> test = new MultiSubscriptionSubscriber<Integer, Integer>(actual) {
		@Override
		public void onNext(Integer t) {
		}
	};
	Subscription parent = Operators.emptySubscription();
       test.onSubscribe(parent);
	Assertions.assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);
	Assertions.assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	test.request(34);
	Assertions.assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(34);

	Assertions.assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	test.cancel();
	Assertions.assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:20,代码来源:OperatorsTest.java


示例10: scanSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanSubscriber() {
	CoreSubscriber<Boolean> actual = new LambdaMonoSubscriber<>(null, e -> {}, null, null);
	MonoAny.AnySubscriber<String> test = new MonoAny.AnySubscriber<>(actual, String::isEmpty);
	Subscription parent = Operators.emptySubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.PREFETCH)).isEqualTo(Integer.MAX_VALUE);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);


	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
	test.onError(new IllegalStateException("boom"));
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();

	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	test.cancel();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:22,代码来源:MonoAnyTest.java


示例11: scanMulticastInner

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
  public void scanMulticastInner() {
CoreSubscriber<Integer> actual = new LambdaSubscriber<>(null, e -> {}, null, null);
FluxPublishMulticast.FluxPublishMulticaster<Integer> parent =
      		new FluxPublishMulticast.FluxPublishMulticaster<>(123, Queues.<Integer>unbounded(), Context.empty());
      FluxPublishMulticast.PublishMulticastInner<Integer> test =
      		new FluxPublishMulticast.PublishMulticastInner<>(parent, actual);

      assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
      assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);
      test.request(789);
      assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(789);

      assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
      test.cancel();
      assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
  }
 
开发者ID:reactor,项目名称:reactor-core,代码行数:18,代码来源:FluxPublishMulticastTest.java


示例12: subscribe

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Override
public void subscribe(CoreSubscriber<? super T> actual) {
	Objects.requireNonNull(actual, "subscribe");
	if (once == 0 && ONCE.compareAndSet(this, 0, 1)) {

		actual.onSubscribe(this);
		this.actual = actual;
		if (cancelled) {
			this.actual = null;
		} else {
			drain();
		}
	} else {
		Operators.error(actual, new IllegalStateException("UnicastProcessor " +
				"allows only a single Subscriber"));
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:18,代码来源:UnicastProcessor.java


示例13: subscribe

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public void subscribe(CoreSubscriber<? super T> actual) {
	Publisher<? extends T> p;

	try {
		p = Objects.requireNonNull(supplier.get(),
				"The Publisher returned by the supplier is null");
	}
	catch (Throwable e) {
		Operators.error(actual, Operators.onOperatorError(e, actual.currentContext()));
		return;
	}

	from(p).subscribe(actual);
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:17,代码来源:FluxDefer.java


示例14: scanMain

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanMain() {
	CoreSubscriber<? super List> actual = new LambdaSubscriber<>(null, e -> {}, null, null);
	List<String> initialBuffer = Arrays.asList("foo", "bar");
	FluxBufferBoundary.BufferBoundaryMain<String, Integer, List<String>> test = new FluxBufferBoundary.BufferBoundaryMain<>(
			actual, initialBuffer, ArrayList::new);
	Subscription parent = Operators.cancelledSubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.CAPACITY)).isEqualTo(2);
	assertThat(test.scan(Scannable.Attr.PREFETCH)).isEqualTo(Integer.MAX_VALUE);

	assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(0L);
	test.request(2);
	assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(2L);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);

	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:22,代码来源:FluxBufferBoundaryTest.java


示例15: scanSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanSubscriber() {
    CoreSubscriber<Integer> actual = new LambdaSubscriber<>(null, e -> {}, null, null);
    FluxPeek<Integer> peek = new FluxPeek<>(Flux.just(1), s -> {}, s -> {},
    		e -> {}, () -> {}, () -> {}, r -> {}, () -> {});
    FluxPeek.PeekSubscriber<Integer> test = new FluxPeek.PeekSubscriber<>(actual, peek);
    Subscription parent = Operators.emptySubscription();
    test.onSubscribe(parent);

    Assertions.assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
    Assertions.assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);

    Assertions.assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
    test.onError(new IllegalStateException("boom"));
    Assertions.assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:17,代码来源:FluxPeekTest.java


示例16: scanTakeLastOneSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanTakeLastOneSubscriber() {
	CoreSubscriber<String>
			actual = new LambdaMonoSubscriber<>(null, e -> {}, null, null);
	MonoTakeLastOne.TakeLastOneSubscriber<String> test = new MonoTakeLastOne.TakeLastOneSubscriber<>(
			actual, "foo", true);
	Subscription parent = Operators.emptySubscription();
	test.onSubscribe(parent);

	assertThat(test.scan(Scannable.Attr.PREFETCH)).isEqualTo(Integer.MAX_VALUE);

	assertThat(test.scan(Scannable.Attr.PARENT)).isSameAs(parent);
	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);

	//terminated is detected via state HAS_VALUE
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
	test.complete("bar");
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();

	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	test.cancel();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:24,代码来源:MonoTakeLastOneTest.java


示例17: scanCoordinator

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
  public void scanCoordinator() {
CoreSubscriber<Integer> actual = new LambdaSubscriber<>(null, e -> {}, null, null);
FluxZip.ZipCoordinator<Integer, Integer> test = new FluxZip.ZipCoordinator<Integer, Integer>(actual,
		i -> 5, 123, Queues.unbounded(), 345);

      Assertions.assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);
      test.requested = 35;
      Assertions.assertThat(test.scan(Scannable.Attr.REQUESTED_FROM_DOWNSTREAM)).isEqualTo(35);

      Assertions.assertThat(test.scan(Scannable.Attr.ERROR)).isNull();
      test.error = new IllegalStateException("boom");
      Assertions.assertThat(test.scan(Scannable.Attr.ERROR)).hasMessage("boom");

      Assertions.assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
      test.cancel();
      Assertions.assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
  }
 
开发者ID:reactor,项目名称:reactor-core,代码行数:19,代码来源:FluxZipTest.java


示例18: subscribe

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Override
public void subscribe(CoreSubscriber<? super C> actual) {
	C initialBuffer;

	try {
		initialBuffer = Objects.requireNonNull(bufferSupplier.get(),
				"The bufferSupplier returned a null initial buffer");
	}
	catch (Throwable e) {
		Operators.error(actual, Operators.onOperatorError(e, actual.currentContext()));
		return;
	}

	BufferPredicateSubscriber<T, C> parent = new BufferPredicateSubscriber<>(actual,
			initialBuffer, bufferSupplier, predicate, mode);

	source.subscribe(parent);
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:19,代码来源:FluxBufferPredicate.java


示例19: scanMainSubscriber

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanMainSubscriber() {
	CoreSubscriber<? super Integer> subscriber = new LambdaSubscriber<>(null, e -> { }, null,
			sub -> sub.request(2));
	MergeReduceMain<Integer> test = new MergeReduceMain<>(subscriber, 2, (a, b) -> a + b);

	subscriber.onSubscribe(test);

	assertThat(test.scan(Scannable.Attr.ACTUAL)).isSameAs(subscriber);
	assertThat(test.scan(Scannable.Attr.PREFETCH)).isEqualTo(Integer.MAX_VALUE);

	assertThat(test.scan(Scannable.Attr.TERMINATED)).isFalse();
	assertThat(test.scan(Scannable.Attr.ERROR)).isNull();

	test.innerComplete(1);
	test.innerComplete(2);
	assertThat(test.scan(Scannable.Attr.TERMINATED)).isTrue();

	assertThat(test.scan(Scannable.Attr.CANCELLED)).isFalse();
	test.cancel();
	assertThat(test.scan(Scannable.Attr.CANCELLED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:23,代码来源:ParallelMergeReduceTest.java


示例20: scanInner

import reactor.core.CoreSubscriber; //导入依赖的package包/类
@Test
public void scanInner() {
	CoreSubscriber<String> actual = new LambdaSubscriber<>(null, null, null, null);
	FluxLimitRequest.FluxLimitRequestSubscriber<String> inner =
			new FluxLimitRequest.FluxLimitRequestSubscriber<>(actual, 2);
	Subscription s = Operators.emptySubscription();
	inner.onSubscribe(s);

	assertThat(inner.scan(Scannable.Attr.ACTUAL)).isSameAs(actual);
	assertThat(inner.scan(Scannable.Attr.PARENT)).isSameAs(s);
	assertThat(inner.scan(Scannable.Attr.TERMINATED)).isFalse();

	inner.onNext("foo");
	inner.onNext("bar");
	assertThat(inner.scan(Scannable.Attr.TERMINATED)).isTrue();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:17,代码来源:FluxLimitRequestTest.java



注:本文中的reactor.core.CoreSubscriber类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SendMessageToWeiboRequest类代码示例发布时间:2022-05-22
下一篇:
Java Word类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap