Package-level declarations

Types

Link copied to clipboard

提供一个用于阻塞调用的调度器的供应商。

Link copied to clipboard

提供一个用于阻塞调用的调度器的供应商。

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

Link copied to clipboard
interface InvokeStrategy<T, R>
Link copied to clipboard
class Reserve<out T>(scope: CoroutineScope, context: CoroutineContext, block: suspend () -> T)

A class representing a coroutine-based reserve.

Link copied to clipboard

使用在 runBlocking 或相关函数中,用于将运行其中的函数所抛出的函数捕获并包装。

Link copied to clipboard

阻塞API所使用的执行策略。

Link copied to clipboard

无作用域的阻塞API所使用的执行策略。

Link copied to clipboard
typealias ST = SuspendTrans

Suspend Trans 的简写类型。

Link copied to clipboard

Suspend Trans Property 的简写类型。

Link copied to clipboard
annotation class SuspendTrans(val blockingBaseName: String = "", val blockingSuffix: String = "Blocking", val blockingAsProperty: Boolean = false, val asyncBaseName: String = "", val asyncSuffix: String = "Async", val asyncAsProperty: Boolean = false, val reserveBaseName: String = "", val reserveSuffix: String = "Reserve", val reserveAsProperty: Boolean = false)
Link copied to clipboard
annotation class SuspendTransProperty(val blockingBaseName: String = "", val blockingSuffix: String = "", val blockingAsProperty: Boolean = true, val asyncBaseName: String = "", val asyncSuffix: String = "Async", val asyncAsProperty: Boolean = true, val reserveBaseName: String = "", val reserveSuffix: String = "Reserve", val reserveAsProperty: Boolean = false, val jsPromiseBaseName: String = "", val jsPromiseSuffix: String = "Async", val jsPromiseAsProperty: Boolean = false)

用于代表同时标记 love.forte.plugin.suspendtrans.annotation.JvmBlocking 和 love.forte.plugin.suspendtrans.annotation.JvmAsync 的整合性注解。

Properties

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

使用 Executors.newVirtualThreadPerTaskExecutor 构建的全局虚拟线程“线程池”。 如果不支持虚拟线程则会抛出 UnsupportedOperationException

Functions

Link copied to clipboard
fun <T> asReserve(scope: CoroutineScope? = null, context: CoroutineContext? = null, block: suspend () -> T): SuspendReserve<T>
fun <T> asReserve(scope: CoroutineScope? = null, context: CoroutineContext? = null, block: suspend () -> T): SuspendReserve<T>

block 包装为 SuspendReserve. scope 如果为 null 则会使用 GlobalScope

Link copied to clipboard

执行一个异步函数,得到 CompletableFuture. 默认情况下会使用 GlobalScope 作为调度作用域。

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
inline fun <T> runInPromise(context: CoroutineContext = EmptyCoroutineContext, crossinline block: suspend CoroutineScope.() -> T): Promise<T>

使用 GlobalScope 执行一个异步函数,得到 Promise.

inline fun <T> runInPromise(scope: CoroutineScope, context: CoroutineContext = EmptyCoroutineContext, crossinline block: suspend CoroutineScope.() -> T): Promise<T>

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

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

如果超时,则抛出 TimeoutCancellationException.

Link copied to clipboard

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

Link copied to clipboard