pub struct StreamState {
pub chunks_received: u64,
pub bytes_received: u64,
pub last_chunk_time_ms: u64,
pub in_tool_call: bool,
pub current_tool_id: Option<String>,
pub tool_args_buffer: String,
}Expand description
Stream state that can be preserved across reconnections
Fields§
§chunks_received: u64Number of chunks received before disconnect
bytes_received: u64Total bytes received before disconnect
last_chunk_time_ms: u64Last successful chunk timestamp (ms since stream start)
in_tool_call: boolWhether the stream was in the middle of a tool call
current_tool_id: Option<String>Current tool call ID if in progress
tool_args_buffer: StringAccumulated tool arguments if in progress
Implementations§
Source§impl StreamState
impl StreamState
Sourcepub fn record_chunk(&mut self, bytes: u64, time_ms: u64)
pub fn record_chunk(&mut self, bytes: u64, time_ms: u64)
Record a chunk received
Sourcepub fn start_tool_call(&mut self, id: String)
pub fn start_tool_call(&mut self, id: String)
Start a tool call
Sourcepub fn append_tool_args(&mut self, args: &str)
pub fn append_tool_args(&mut self, args: &str)
Append tool arguments
Sourcepub fn end_tool_call(&mut self)
pub fn end_tool_call(&mut self)
End tool call
Sourcepub fn can_resume(&self) -> bool
pub fn can_resume(&self) -> bool
Check if stream can be resumed
Trait Implementations§
Source§impl Clone for StreamState
impl Clone for StreamState
Source§fn clone(&self) -> StreamState
fn clone(&self) -> StreamState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StreamState
impl Debug for StreamState
Source§impl Default for StreamState
impl Default for StreamState
Source§fn default() -> StreamState
fn default() -> StreamState
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for StreamState
impl<'de> Deserialize<'de> for StreamState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for StreamState
impl RefUnwindSafe for StreamState
impl Send for StreamState
impl Sync for StreamState
impl Unpin for StreamState
impl UnwindSafe for StreamState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].