pub struct AnthropicMessagesStreamingCodec { /* private fields */ }Expand description
Streaming counterpart to AnthropicMessagesCodec.
Replays the Anthropic Messages SSE event sequence into the same JSON shape Anthropic returns
for a non-streaming request ({id, type, role, model, content, stop_reason, stop_sequence, usage}). Once finalized, the assembled JSON can be fed back through
AnthropicMessagesCodec::decode_response to produce an
AnnotatedLlmResponse — meaning streaming and
non-streaming Anthropic requests converge on the same observability output.
Internal state lives behind Arc<Mutex<...>> so the &self-produced collector and finalizer
closures share access. Each instance is single-use because LlmFinalizerFn consumes the
finalize step.
Implementations§
Trait Implementations§
Source§impl StreamingCodec for AnthropicMessagesStreamingCodec
impl StreamingCodec for AnthropicMessagesStreamingCodec
Source§fn collector(&self) -> LlmCollectorFn
fn collector(&self) -> LlmCollectorFn
Returns a closure that consumes one decoded provider event per call.
Source§fn finalizer(&self) -> LlmFinalizerFn
fn finalizer(&self) -> LlmFinalizerFn
Returns a closure that, when called once at end of stream, produces the assembled response
payload in the shape the matching
crate::codec::traits::LlmResponseCodec can decode.Auto Trait Implementations§
impl Freeze for AnthropicMessagesStreamingCodec
impl RefUnwindSafe for AnthropicMessagesStreamingCodec
impl Send for AnthropicMessagesStreamingCodec
impl Sync for AnthropicMessagesStreamingCodec
impl Unpin for AnthropicMessagesStreamingCodec
impl UnsafeUnpin for AnthropicMessagesStreamingCodec
impl UnwindSafe for AnthropicMessagesStreamingCodec
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request