pub struct RenderCacheKey {
pub content_hash: u64,
pub terminal_width: u16,
pub tool_expanded: bool,
pub compact_tools: bool,
pub show_labels: bool,
}Expand description
Cache key for a single rendered chat message.
Two keys compare equal only when the content, terminal width, and all display flags are identical. Any mismatch causes a cache miss and re-render.
§Examples
use zeph_tui::render_cache::RenderCacheKey;
let k1 = RenderCacheKey { content_hash: 1, terminal_width: 80, tool_expanded: false, compact_tools: false, show_labels: false };
let k2 = RenderCacheKey { content_hash: 1, terminal_width: 80, tool_expanded: false, compact_tools: false, show_labels: false };
assert_eq!(k1, k2);Fields§
§content_hash: u64FNV/xxHash of the message content string.
terminal_width: u16Terminal column width at the time of rendering.
tool_expanded: boolWhether the tool-output section is expanded.
compact_tools: boolWhether tool blocks use compact single-line display.
show_labels: boolWhether source-label badges are shown on assistant messages.
Trait Implementations§
Source§impl Clone for RenderCacheKey
impl Clone for RenderCacheKey
Source§fn clone(&self) -> RenderCacheKey
fn clone(&self) -> RenderCacheKey
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 RenderCacheKey
impl Debug for RenderCacheKey
Source§impl PartialEq for RenderCacheKey
impl PartialEq for RenderCacheKey
impl Copy for RenderCacheKey
impl Eq for RenderCacheKey
impl StructuralPartialEq for RenderCacheKey
Auto Trait Implementations§
impl Freeze for RenderCacheKey
impl RefUnwindSafe for RenderCacheKey
impl Send for RenderCacheKey
impl Sync for RenderCacheKey
impl Unpin for RenderCacheKey
impl UnsafeUnpin for RenderCacheKey
impl UnwindSafe for RenderCacheKey
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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