Skip to content

Commit b65ea36

Browse files
committed
Structured concurrency for reactive modules
* Deprecated API older than 6 months removed * Standalone builders are deprecated * Guide and readme updated
1 parent c65071c commit b65ea36

File tree

74 files changed

+594
-785
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+594
-785
lines changed

README.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ launch {
2020
* `launch` and `async` coroutine builders;
2121
* `Job` and `Deferred` light-weight future with cancellation support;
2222
* `delay` and `yield` top-level suspending functions.
23-
* [core](core/README.md) — Kotlin/JVM implementation of common coroutines with additional features:
24-
* `CommonPool` coroutine context (default on JVM);
2523
* `Channel` and `Mutex` communication and synchronization primitives;
26-
* `produce` and `actor` coroutine builders;
24+
* `produce` coroutine builder;
2725
* `select` expression support and more.
26+
* [core](core/README.md) — Kotlin/JVM implementation of common coroutines with additional features:
27+
* `CommonPool` coroutine context (default on JVM);
28+
* `actor` coroutine builder;
29+
* `IO` dispatcher for blocking coroutines
2830
* [js](js/README.md) — Kotlin/JS implementation of common coroutines with `Promise` support.
2931
* [native](native/README.md) — Kotlin/Native implementation of common coroutines with `runBlocking` single-threaded event loop.
3032
* [reactive](reactive/README.md) — modules that provide builders and iteration support for various reactive streams libraries:

binary-compatibility-validator/reference-public-api/kotlinx-coroutines-reactive.txt

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ public final class kotlinx/coroutines/experimental/reactive/AwaitKt {
1010
public final class kotlinx/coroutines/experimental/reactive/ChannelKt {
1111
public static final fun consumeEach (Lorg/reactivestreams/Publisher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
1212
public static final synthetic fun consumeEach (Lorg/reactivestreams/Publisher;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
13-
public static final fun iterator (Lorg/reactivestreams/Publisher;)Lkotlinx/coroutines/experimental/channels/ChannelIterator;
14-
public static final fun open (Lorg/reactivestreams/Publisher;)Lkotlinx/coroutines/experimental/channels/SubscriptionReceiveChannel;
1513
public static final synthetic fun openSubscription (Lorg/reactivestreams/Publisher;)Lkotlinx/coroutines/experimental/channels/SubscriptionReceiveChannel;
1614
public static final fun openSubscription (Lorg/reactivestreams/Publisher;I)Lkotlinx/coroutines/experimental/channels/ReceiveChannel;
1715
public static final synthetic fun openSubscription (Lorg/reactivestreams/Publisher;I)Lkotlinx/coroutines/experimental/channels/SubscriptionReceiveChannel;
@@ -22,14 +20,12 @@ public final class kotlinx/coroutines/experimental/reactive/ChannelKt {
2220
public final class kotlinx/coroutines/experimental/reactive/ConvertKt {
2321
public static final fun asPublisher (Lkotlinx/coroutines/experimental/channels/ReceiveChannel;Lkotlin/coroutines/experimental/CoroutineContext;)Lorg/reactivestreams/Publisher;
2422
public static synthetic fun asPublisher$default (Lkotlinx/coroutines/experimental/channels/ReceiveChannel;Lkotlin/coroutines/experimental/CoroutineContext;ILjava/lang/Object;)Lorg/reactivestreams/Publisher;
25-
public static final fun toPublisher (Lkotlinx/coroutines/experimental/channels/ReceiveChannel;Lkotlin/coroutines/experimental/CoroutineContext;)Lorg/reactivestreams/Publisher;
2623
}
2724

2825
public final class kotlinx/coroutines/experimental/reactive/PublishKt {
29-
public static final synthetic fun publish (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lorg/reactivestreams/Publisher;
3026
public static final fun publish (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;)Lorg/reactivestreams/Publisher;
31-
public static final synthetic fun publish (Lkotlin/jvm/functions/Function2;)Lorg/reactivestreams/Publisher;
32-
public static synthetic fun publish$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/reactivestreams/Publisher;
27+
public static final fun publish (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lorg/reactivestreams/Publisher;
3328
public static synthetic fun publish$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/reactivestreams/Publisher;
29+
public static synthetic fun publish$default (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/reactivestreams/Publisher;
3430
}
3531

binary-compatibility-validator/reference-public-api/kotlinx-coroutines-reactor.txt

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@ public final class kotlinx/coroutines/experimental/reactor/ConvertKt {
1010
public final class kotlinx/coroutines/experimental/reactor/FluxKt {
1111
public static final fun flux (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Flux;
1212
public static final fun flux (Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Flux;
13+
public static final fun flux (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Flux;
1314
public static synthetic fun flux$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lreactor/core/publisher/Flux;
15+
public static synthetic fun flux$default (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lreactor/core/publisher/Flux;
1416
}
1517

1618
public final class kotlinx/coroutines/experimental/reactor/MonoKt {
17-
public static final synthetic fun mono (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Mono;
1819
public static final fun mono (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Mono;
19-
public static final synthetic fun mono (Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Mono;
20-
public static synthetic fun mono$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lreactor/core/publisher/Mono;
20+
public static final fun mono (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lreactor/core/publisher/Mono;
2121
public static synthetic fun mono$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lreactor/core/publisher/Mono;
22+
public static synthetic fun mono$default (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lreactor/core/publisher/Mono;
2223
}
2324

2425
public class kotlinx/coroutines/experimental/reactor/SchedulerCoroutineDispatcher : kotlinx/coroutines/experimental/CoroutineDispatcher, kotlinx/coroutines/experimental/Delay {

binary-compatibility-validator/reference-public-api/kotlinx-coroutines-rx1.txt

+6-15
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ public final class kotlinx/coroutines/experimental/rx1/RxAwaitKt {
1111

1212
public final class kotlinx/coroutines/experimental/rx1/RxChannelKt {
1313
public static final fun consumeEach (Lrx/Observable;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
14-
public static final synthetic fun consumeEach (Lrx/Observable;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
15-
public static final fun iterator (Lrx/Observable;)Lkotlinx/coroutines/experimental/channels/ChannelIterator;
16-
public static final fun open (Lrx/Observable;)Lkotlinx/coroutines/experimental/channels/SubscriptionReceiveChannel;
1714
public static final synthetic fun openSubscription (Lrx/Observable;)Lkotlinx/coroutines/experimental/channels/SubscriptionReceiveChannel;
1815
public static final fun openSubscription (Lrx/Observable;I)Lkotlinx/coroutines/experimental/channels/ReceiveChannel;
1916
public static final synthetic fun openSubscription (Lrx/Observable;I)Lkotlinx/coroutines/experimental/channels/SubscriptionReceiveChannel;
@@ -22,40 +19,34 @@ public final class kotlinx/coroutines/experimental/rx1/RxChannelKt {
2219
}
2320

2421
public final class kotlinx/coroutines/experimental/rx1/RxCompletableKt {
25-
public static final synthetic fun rxCompletable (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lrx/Completable;
2622
public static final fun rxCompletable (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;)Lrx/Completable;
27-
public static final synthetic fun rxCompletable (Lkotlin/jvm/functions/Function2;)Lrx/Completable;
28-
public static synthetic fun rxCompletable$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Completable;
23+
public static final fun rxCompletable (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lrx/Completable;
2924
public static synthetic fun rxCompletable$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Completable;
25+
public static synthetic fun rxCompletable$default (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Completable;
3026
}
3127

3228
public final class kotlinx/coroutines/experimental/rx1/RxConvertKt {
3329
public static final fun asCompletable (Lkotlinx/coroutines/experimental/Job;Lkotlin/coroutines/experimental/CoroutineContext;)Lrx/Completable;
3430
public static final fun asObservable (Lkotlinx/coroutines/experimental/channels/ReceiveChannel;Lkotlin/coroutines/experimental/CoroutineContext;)Lrx/Observable;
3531
public static final fun asSingle (Lkotlinx/coroutines/experimental/Deferred;Lkotlin/coroutines/experimental/CoroutineContext;)Lrx/Single;
36-
public static final fun toCompletable (Lkotlinx/coroutines/experimental/Job;Lkotlin/coroutines/experimental/CoroutineContext;)Lrx/Completable;
37-
public static final fun toObservable (Lkotlinx/coroutines/experimental/channels/ReceiveChannel;Lkotlin/coroutines/experimental/CoroutineContext;)Lrx/Observable;
38-
public static final fun toSingle (Lkotlinx/coroutines/experimental/Deferred;Lkotlin/coroutines/experimental/CoroutineContext;)Lrx/Single;
3932
}
4033

4134
public final class kotlinx/coroutines/experimental/rx1/RxObservableKt {
42-
public static final synthetic fun rxObservable (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lrx/Observable;
4335
public static final fun rxObservable (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;)Lrx/Observable;
44-
public static final synthetic fun rxObservable (Lkotlin/jvm/functions/Function2;)Lrx/Observable;
45-
public static synthetic fun rxObservable$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Observable;
36+
public static final fun rxObservable (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lrx/Observable;
4637
public static synthetic fun rxObservable$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Observable;
38+
public static synthetic fun rxObservable$default (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Observable;
4739
}
4840

4941
public final class kotlinx/coroutines/experimental/rx1/RxSchedulerKt {
5042
public static final fun asCoroutineDispatcher (Lrx/Scheduler;)Lkotlinx/coroutines/experimental/rx1/SchedulerCoroutineDispatcher;
5143
}
5244

5345
public final class kotlinx/coroutines/experimental/rx1/RxSingleKt {
54-
public static final synthetic fun rxSingle (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lrx/Single;
5546
public static final fun rxSingle (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;)Lrx/Single;
56-
public static final synthetic fun rxSingle (Lkotlin/jvm/functions/Function2;)Lrx/Single;
57-
public static synthetic fun rxSingle$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Single;
47+
public static final fun rxSingle (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;)Lrx/Single;
5848
public static synthetic fun rxSingle$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Single;
49+
public static synthetic fun rxSingle$default (Lkotlinx/coroutines/experimental/CoroutineScope;Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lrx/Single;
5950
}
6051

6152
public final class kotlinx/coroutines/experimental/rx1/SchedulerCoroutineDispatcher : kotlinx/coroutines/experimental/CoroutineDispatcher, kotlinx/coroutines/experimental/Delay {

0 commit comments

Comments
 (0)