Package-level declarations

Types

Link copied to clipboard

针对 ContinuousSessionContext 的基础抽象实现类。

Link copied to clipboard
fun interface AsyncInSession<T, R> : InSession<T, R>

以异步的API构造 InSession 实例。 可通过 InSessions.async 构造。

Link copied to clipboard
fun interface BlockInSession<T, R> : InSession<T, R>

以阻塞的API构造 InSession 实例。 可通过 InSessions.block 构造。

Link copied to clipboard

冲突的 session key.

Link copied to clipboard

持续会话(continuous session)管理器, 用于承载一组 ContinuousSessionProviderContinuousSessionReceiver 的上下文。用于构建与管理 ContinuousSession

Link copied to clipboard

一组 Session 的元素之一, 用来向 ContinuousSessionReceiver 推送事件 T 并获悉结果 R 的“供应者”。

Link copied to clipboard

一组 Session 的元素之一, 用来在异步中接收 ContinuousSessionProvider 推送的事件 T 并根据此事件为其返回结果 R

Link copied to clipboard
fun interface InSession<T, R>

使用于 ContinuousSessionContext.session 中的 receiver 逻辑函数。

Link copied to clipboard
fun interface MonoInSession<T, R> : InSession<T, R>

以响应式风格 (Mono) 的API构造 InSession 实例。 可通过 InSessions.mono 构造。

因出现冲突的 session key 而被替换

Link copied to clipboard

当使用 ContinuousSessionProvider.push 推送成功、 但是在 ContinuousSessionReceiver.await 过程中出现异常时(例如构造返回给 push 的结果时出现异常) 则此异常会使用 SessionAwaitOnFailureException 进行包装。

Link copied to clipboard

当 Session 已经结束、但是某个 continuation 并未被恢复时,使用此异常恢复它。 如果 session 的结束伴随着异常,此异常会记录在 cause 中。

Link copied to clipboard
interface SessionContinuation<out T, in R>

ContinuousSessionReceiver.await 的返回值类型, 可用来获取到本次等待到的 推送 结果, 并向其恢复一个结果或异常。

Link copied to clipboard

Functions

Link copied to clipboard
@JvmName(name = "async")
fun <T, R> asyncInSession(function: AsyncInSession<T, R>): InSession<T, R>

Java 友好 API,用于构造一个异步风格的 InSession 实例。

Link copied to clipboard
@JvmName(name = "block")
fun <T, R> blockInSession(context: CoroutineContext? = null, function: BlockInSession<T, R>): InSession<T, R>

Java 友好 API,用于构造一个阻塞风格的 InSession 实例。

Link copied to clipboard
@JvmName(name = "createContinuousSessionContext")
fun <T, R> ContinuousSessionContext(coroutineContext: CoroutineContext): ContinuousSessionContext<T, R>

创建一个 ContinuousSessionContext 的基础实现类型。

Link copied to clipboard

构建一个基于 CancellableContinuation 实现的 SessionContinuation 实例。

Link copied to clipboard
@JvmName(name = "mono")
fun <T, R> monoInSession(function: MonoInSession<T, R>): InSession<T, R>

Java 友好 API,用于构造一个响应式风格 (Mono) 的 InSession 实例。