Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract class CyclicIterator<T> : Iterator<T>

无限循环的环形迭代器。CyclicIterator 将会永远拥有结果。

RejectedExecutionException 的扩展, 当 DefaultBlockingDispatcher 将会在追加任务被拒绝时抛出此异常并携带 runnableexecutor 信息供于外部用户捕获并处理.

Link copied to clipboard
typealias Digest = MessageDigest
Link copied to clipboard
interface LazyValue<T> : SuspendFunction0<T>

一个类似于 Deferred 的支持suspend的懒加载器。

Link copied to clipboard

一般为内部使用的随机ID工具。

Link copied to clipboard
class WeakMap<K, V>(delegateMap: MutableMap<K, WeakReference<V>>) : MutableMap<K, V>

Value值为 weak 的 Map。

Functions

Link copied to clipboard
Link copied to clipboard
fun <T> completedLazyValue(value: T): LazyValue<T>
Link copied to clipboard
fun <T> constIterator(value: T): Iterator<T>
Link copied to clipboard
fun digest(algorithm: String): Digest

根据一个算法名称得到一个对应的信息摘要算法.

inline fun digest(algorithm: String, block: Digest.() -> Unit): ByteArray

根据一个算法名称得到一个对应的信息摘要算法, 并在 block 中使用它, 然后得到摘要结果。

Link copied to clipboard
Link copied to clipboard
fun <T> indexedCycleIterator(lastIndex: Int, valueGet: (Int) -> T): Iterator<T>
Link copied to clipboard
fun <T> lazyValue(initializer: suspend () -> T): LazyValue<T>
fun <T> CoroutineScope.lazyValue(init: Boolean = false, initializer: suspend () -> T): LazyValue<T>
Link copied to clipboard
inline fun md5(block: Digest.() -> Unit): ByteArray

尝试获取 md5 摘要算法,并使用它得到摘要结果。

Link copied to clipboard
fun randomIdStr(random: Random = Random): String
Link copied to clipboard
fun <T> runInAsync(block: suspend CoroutineScope.() -> T): CompletableFuture<T>
fun <T> runInAsync(scope: CoroutineScope, context: CoroutineContext = EmptyCoroutineContext, block: suspend CoroutineScope.() -> T): CompletableFuture<T>

执行一个异步函数,得到 CompletableFuture.

Link copied to clipboard
fun <T> runInBlocking(context: CoroutineContext = DefaultBlockingContext, block: suspend CoroutineScope.() -> T): T

在simbot中提供的 runBlocking 包装。

Link copied to clipboard
fun <T> runInNoScopeBlocking(context: CoroutineContext = DefaultBlockingContext, block: suspend () -> T): T

在simbot中提供的 runBlocking 包装。

Link copied to clipboard
fun <T> runInNoScopeTimeoutBlocking(timeout: Long, context: CoroutineContext = DefaultBlockingContext, block: suspend () -> T): T

如果超时,则抛出 TimeoutException.

Link copied to clipboard
fun <T> runInTimeoutBlocking(timeout: Long, context: CoroutineContext = DefaultBlockingContext, block: suspend CoroutineScope.() -> T): T

如果超时,则抛出 TimeoutException.

Link copied to clipboard
inline suspend fun <T> runWithInterruptible(context: CoroutineContext = RunWithInterruptibleDefaultCoroutineContext, crossinline block: () -> T): T

默认使用 DefaultBlockingDispatcher 作为调度器的可中断执行函数。

Link copied to clipboard

设置一个 runInBlocking 函数的实际调度逻辑。

Link copied to clipboard
Link copied to clipboard
fun <T1, T2> suspendConsumer(isRunWithInterruptible: Boolean = true, function: BiConsumer<T1, T2>): suspend (T1, T2) -> Unit
fun <T1, T2, T3> suspendConsumer(isRunWithInterruptible: Boolean = true, function: Consumer3<T1, T2, T3>): suspend (T1, T2, T3) -> Unit
fun <T1, T2, T3, T4> suspendConsumer(isRunWithInterruptible: Boolean = true, function: Consumer4<T1, T2, T3, T4>): suspend (T1, T2, T3, T4) -> Unit
fun <T1, T2, T3, T4, T5> suspendConsumer(isRunWithInterruptible: Boolean = true, function: Consumer5<T1, T2, T3, T4, T5>): suspend (T1, T2, T3, T4, T5) -> Unit

fun <T> suspendConsumer(isRunWithInterruptible: Boolean = true, function: Consumer<T>): suspend (T) -> Unit

Kotlin api:

Link copied to clipboard
fun <T1, T2, R> suspendFunction(isRunWithInterruptible: Boolean = true, function: BiFunction<T1, T2, R>): suspend (T1, T2) -> R
fun <T1, T2, T3, R> suspendFunction(isRunWithInterruptible: Boolean = true, function: (T1, T2, T3) -> R): suspend (T1, T2, T3) -> R
fun <T1, T2, T3, T4, R> suspendFunction(isRunWithInterruptible: Boolean = true, function: (T1, T2, T3, T4) -> R): suspend (T1, T2, T3, T4) -> R
fun <T1, T2, T3, T4, T5, R> suspendFunction(isRunWithInterruptible: Boolean = true, function: (T1, T2, T3, T4, T5) -> R): suspend (T1, T2, T3, T4, T5) -> R

fun <T, R> suspendFunction(isRunWithInterruptible: Boolean = true, function: Function<T, R>): suspend (T) -> R

Kotlin api:

Link copied to clipboard
fun <R> suspendSupplier(isRunWithInterruptible: Boolean = true, function: Supplier<R>): suspend () -> R

Kotlin api:

Link copied to clipboard

获取系统参数。

Link copied to clipboard

将一个 ByteArray 转为16进制的字符串。

将一个16进制的字符串转化为字节数组。

Properties

Link copied to clipboard

默认的异步调用(Java异步,例如 CompletableFuturerunInAsync)上下文。

Link copied to clipboard
val DefaultAsyncDispatcher: CoroutineDispatcher

如果 DefaultAsyncDispatcherOrNull 为 null,得到 Dispatchers.Default, 否则得到 DefaultAsyncDispatcherOrNull的值。

Link copied to clipboard

使用在非协程环境下的异步API(例如 runInAsync )中的默认调度器。 会在首次被获取的时候进行实例化。

Link copied to clipboard

runInBlocking 中使用的默认上下文实例。

Link copied to clipboard

如果 DefaultBlockingDispatcherOrNull 为 null,得到 Dispatchers.Default, 否则得到 DefaultBlockingDispatcherOrNull的值。

Link copied to clipboard

使用在阻塞API(例如 runInBlocking )或非Java协程环境中的默认调度器。 会在首次被获取的时候进行实例化。