ContinuousSessionReceiver
一组 Session
的元素之一, 用来在异步中接收 ContinuousSessionProvider 推送的事件 T 并根据此事件为其返回结果 R。
val session = context.session(Key()) {
val next = await { v -> v.toResult() } // 假设 toResult() 将事件转化为结果
} ↑ |
|-- | ---------------------|
| |-----------|
↓ |
val result = session.push(value) // 此处得到 v.toResult() 的结果
Content copied to clipboard
Author
ForteScarlet
Inheritors
Properties
Link copied to clipboard
ContinuousSessionReceiver 作为 CoroutineScope 的协程上下文。 其中不会包含 Job。
Functions
Link copied to clipboard
等待 ContinuousSessionProvider 的下一次 推送 结果, 并将此结果和 推送]ContinuousSessionProvider.push 处的挂起点打包为 SessionContinuation, 并在稍后通过 SessionContinuation.resume 或 SessionContinuation.resumeWithException 恢复。
等待 ContinuousSessionProvider 的下一次 推送, 并在接收到时恢复一个结果 result。
等待 ContinuousSessionProvider 的下一次 推送, 并在接收到时恢复一个由 result 计算的结果。