File tree 4 files changed +8
-1
lines changed
core/kotlinx-coroutines-core/src
4 files changed +8
-1
lines changed Original file line number Diff line number Diff line change 5
5
package kotlinx.coroutines.experimental.internal
6
6
7
7
import kotlinx.atomicfu.*
8
+ import kotlinx.coroutines.experimental.*
8
9
9
10
private typealias Node = LockFreeLinkedListNode
10
11
@@ -53,6 +54,7 @@ public actual typealias AbstractAtomicDesc = LockFreeLinkedListNode.AbstractAtom
53
54
* @suppress **This is unstable API and it is subject to change.**
54
55
*/
55
56
@Suppress(" LeakingThis" )
57
+ @InternalCoroutinesApi
56
58
public actual open class LockFreeLinkedListNode {
57
59
private val _next = atomic<Any >(this ) // Node | Removed | OpDescriptor
58
60
private val _prev = atomic<Any >(this ) // Node | Removed
Original file line number Diff line number Diff line change 5
5
package kotlinx.coroutines.experimental.internal
6
6
7
7
import kotlinx.atomicfu.*
8
+ import kotlinx.coroutines.experimental.*
8
9
import java.util.concurrent.atomic.*
9
10
10
11
private typealias Core <E > = LockFreeMPSCQueueCore <E >
@@ -22,7 +23,8 @@ private typealias Core<E> = LockFreeMPSCQueueCore<E>
22
23
*
23
24
* @suppress **This is unstable API and it is subject to change.**
24
25
*/
25
- class LockFreeMPSCQueue <E : Any > {
26
+ @InternalCoroutinesApi
27
+ internal class LockFreeMPSCQueue <E : Any > {
26
28
private val _cur = atomic(Core <E >(Core .INITIAL_CAPACITY ))
27
29
28
30
// Note: it is not atomic w.r.t. remove operation (remove can transiently fail when isEmpty is false)
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import java.util.*
10
10
/* *
11
11
* @suppress **This is unstable API and it is subject to change.**
12
12
*/
13
+ @InternalCoroutinesApi
13
14
public interface ThreadSafeHeapNode {
14
15
public var heap: ThreadSafeHeap <* >?
15
16
public var index: Int
@@ -20,6 +21,7 @@ public interface ThreadSafeHeapNode {
20
21
*
21
22
* @suppress **This is unstable API and it is subject to change.**
22
23
*/
24
+ @InternalCoroutinesApi
23
25
public class ThreadSafeHeap <T > : SynchronizedObject () where T: ThreadSafeHeapNode, T: Comparable<T> {
24
26
private var a: Array <T ?>? = null
25
27
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ internal object DefaultScheduler : ExperimentalCoroutineDispatcher() {
26
26
* @suppress **This is unstable API and it is subject to change.**
27
27
*/
28
28
// TODO make internal (and rename) after complete integration
29
+ @InternalCoroutinesApi
29
30
open class ExperimentalCoroutineDispatcher (
30
31
private val corePoolSize : Int ,
31
32
private val maxPoolSize : Int ,
You can’t perform that action at this time.
0 commit comments