pub struct BufferedSink { /* private fields */ }Expand description
基于大缓冲队列的 StreamSink 实现。
用于 Agent 层:将 StreamChunk 推入队列, 由 Forward Task 异步消费并转发到 mpsc channel。
LLMNode
↓ emit() — O(1), 固定成本
BufferedSink (large buffer mpsc)
↓
Forward Task (spawn)
↓
mpsc::Sender<StreamChunk> (bounded, backpressure)
↓
ConsumerImplementations§
Source§impl BufferedSink
impl BufferedSink
Sourcepub fn new() -> (Self, UnboundedReceiver<StreamChunk>)
pub fn new() -> (Self, UnboundedReceiver<StreamChunk>)
创建 BufferedSink(无界队列)。
取消机制负责清理:消费者离开 → cancel → Node 停止。
Trait Implementations§
Source§impl Clone for BufferedSink
impl Clone for BufferedSink
Source§impl StreamSink for BufferedSink
impl StreamSink for BufferedSink
Source§fn emit(&self, chunk: StreamChunk)
fn emit(&self, chunk: StreamChunk)
发射一个数据面事件。 Read more
Auto Trait Implementations§
impl Freeze for BufferedSink
impl RefUnwindSafe for BufferedSink
impl Send for BufferedSink
impl Sync for BufferedSink
impl Unpin for BufferedSink
impl UnsafeUnpin for BufferedSink
impl UnwindSafe for BufferedSink
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more