Package-level declarations
Types
针对 ContinuousSessionContext 的基础抽象实现类。
以异步的API构造 InSession 实例。 可通过 InSessions.async 构造。
以阻塞的API构造 InSession 实例。 可通过 InSessions.block 构造。
冲突的 session key.
组合 ContinuousSessionProvider 和 ContinuousSessionReceiver 的 session
类型。
持续会话(continuous session
)管理器, 用于承载一组 ContinuousSessionProvider 和 ContinuousSessionReceiver 的上下文。用于构建与管理 ContinuousSession
。
A Key for ContinuousSession.
一组 Session
的元素之一, 用来向 ContinuousSessionReceiver 推送事件 T 并获悉结果 R 的“供应者”。
一组 Session
的元素之一, 用来在异步中接收 ContinuousSessionProvider 推送的事件 T 并根据此事件为其返回结果 R。
以事件为中心的 ContinuousSessionContext 子类型。
以响应式风格 (Mono) 的API构造 InSession 实例。 可通过 InSessions.mono 构造。
因出现冲突的 session key 而被替换
当使用 ContinuousSessionProvider.push 推送成功、 但是在 ContinuousSessionReceiver.await 过程中出现异常时(例如构造返回给 push
的结果时出现异常) 则此异常会使用 SessionAwaitOnFailureException 进行包装。
当 Session 已经结束、但是某个 continuation 并未被恢复时,使用此异常恢复它。 如果 session 的结束伴随着异常,此异常会记录在 cause 中。
ContinuousSessionReceiver.await 的返回值类型, 可用来获取到本次等待到的 推送 结果, 并向其恢复一个结果或异常。
当使用 ContinuousSessionProvider.push 推送失败时, 会将异常包装在 SessionPushOnFailureException.cause 中。
A ContinuousSessionKey for Unit.
Functions
Java 友好 API,用于构造一个阻塞风格的 InSession 实例。
创建一个 ContinuousSessionContext 的基础实现类型。
构建一个基于 CancellableContinuation 实现的 SessionContinuation 实例。
Inherited functions
进行多轮次处理。如果 block 的返回值类型不是 MultipleAwaitResult.Valid, 则 multipleAwaitWith 会继续 await 直到得到 MultipleAwaitResult.Valid 结果或产生了异常。