You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reactor coroutine context propagation in more places
* Propagation of the coroutine context of await calls into
Mono/Flux builder
* Publisher.asFlow propagates coroutine context from `collect`
call to the Publisher
* Flow.asFlux transform
Fixes#284
Copy file name to clipboardExpand all lines: binary-compatibility-validator/reference-public-api/kotlinx-coroutines-reactive.txt
+18-9
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,29 @@ public final class kotlinx/coroutines/reactive/ChannelKt {
14
14
public static synthetic fun openSubscription$default (Lorg/reactivestreams/Publisher;IILjava/lang/Object;)Lkotlinx/coroutines/channels/ReceiveChannel;
15
15
}
16
16
17
+
public abstract interface class kotlinx/coroutines/reactive/ContextInjector {
18
+
public abstract fun injectCoroutineContext (Lorg/reactivestreams/Publisher;Lkotlin/coroutines/CoroutineContext;)Lorg/reactivestreams/Publisher;
19
+
}
20
+
17
21
public final class kotlinx/coroutines/reactive/ConvertKt {
18
22
public static final fun asPublisher (Lkotlinx/coroutines/channels/ReceiveChannel;Lkotlin/coroutines/CoroutineContext;)Lorg/reactivestreams/Publisher;
19
23
public static synthetic fun asPublisher$default (Lkotlinx/coroutines/channels/ReceiveChannel;Lkotlin/coroutines/CoroutineContext;ILjava/lang/Object;)Lorg/reactivestreams/Publisher;
20
24
}
21
25
26
+
public final class kotlinx/coroutines/reactive/FlowKt {
27
+
public static final fun asFlow (Lorg/reactivestreams/Publisher;)Lkotlinx/coroutines/flow/Flow;
28
+
public static final fun asFlow (Lorg/reactivestreams/Publisher;I)Lkotlinx/coroutines/flow/Flow;
29
+
public static final fun asPublisher (Lkotlinx/coroutines/flow/Flow;)Lorg/reactivestreams/Publisher;
30
+
}
31
+
32
+
public final class kotlinx/coroutines/reactive/FlowSubscription : org/reactivestreams/Subscription {
33
+
public final field flow Lkotlinx/coroutines/flow/Flow;
34
+
public final field subscriber Lorg/reactivestreams/Subscriber;
35
+
public fun <init> (Lkotlinx/coroutines/flow/Flow;Lorg/reactivestreams/Subscriber;)V
36
+
public fun cancel ()V
37
+
public fun request (J)V
38
+
}
39
+
22
40
public final class kotlinx/coroutines/reactive/PublishKt {
23
41
public static final fun publish (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lorg/reactivestreams/Publisher;
24
42
public static final fun publish (Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lorg/reactivestreams/Publisher;
@@ -44,12 +62,3 @@ public final class kotlinx/coroutines/reactive/PublisherCoroutine : kotlinx/coro
44
62
public fun send (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
45
63
}
46
64
47
-
public final class kotlinx/coroutines/reactive/flow/FlowAsPublisherKt {
48
-
public static final fun from (Lkotlinx/coroutines/flow/Flow;)Lorg/reactivestreams/Publisher;
49
-
}
50
-
51
-
public final class kotlinx/coroutines/reactive/flow/PublisherAsFlowKt {
52
-
public static final fun from (Lorg/reactivestreams/Publisher;)Lkotlinx/coroutines/flow/Flow;
53
-
public static final fun from (Lorg/reactivestreams/Publisher;I)Lkotlinx/coroutines/flow/Flow;
Copy file name to clipboardExpand all lines: binary-compatibility-validator/reference-public-api/kotlinx-coroutines-reactor.txt
+9
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,10 @@ public final class kotlinx/coroutines/reactor/ConvertKt {
5
5
public static final fun asMono (Lkotlinx/coroutines/Job;Lkotlin/coroutines/CoroutineContext;)Lreactor/core/publisher/Mono;
6
6
}
7
7
8
+
public final class kotlinx/coroutines/reactor/FlowKt {
9
+
public static final fun asFlux (Lkotlinx/coroutines/flow/Flow;)Lreactor/core/publisher/Flux;
10
+
}
11
+
8
12
public final class kotlinx/coroutines/reactor/FluxKt {
9
13
public static final fun flux (Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Flux;
10
14
public static final fun flux (Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Flux;
@@ -28,6 +32,11 @@ public final class kotlinx/coroutines/reactor/ReactorContext : kotlin/coroutines
28
32
public final class kotlinx/coroutines/reactor/ReactorContext$Key : kotlin/coroutines/CoroutineContext$Key {
29
33
}
30
34
35
+
public final class kotlinx/coroutines/reactor/ReactorContextInjector : kotlinx/coroutines/reactive/ContextInjector {
36
+
public fun <init> ()V
37
+
public fun injectCoroutineContext (Lorg/reactivestreams/Publisher;Lkotlin/coroutines/CoroutineContext;)Lorg/reactivestreams/Publisher;
38
+
}
39
+
31
40
public final class kotlinx/coroutines/reactor/ReactorContextKt {
32
41
public static final fun asCoroutineContext (Lreactor/util/context/Context;)Lkotlinx/coroutines/reactor/ReactorContext;
0 commit comments