pub enum DualValue<T> {
Traditional(T),
SymbolNative {
serialized: Vec<u8>,
object_id: ObjectId,
_phantom: PhantomData<T>,
},
}Expand description
A value that can be held in either traditional or symbol-encoded form.
In traditional mode, the value is stored directly. In symbol-encoded mode,
the value is serialized and can be transmitted as symbols. Both forms
support retrieving the underlying value via get.
Variants§
Traditional(T)
Traditional direct value.
SymbolNative
Symbol-encoded value with serialized bytes and metadata.
Implementations§
Source§impl<T> DualValue<T>
impl<T> DualValue<T>
Sourcepub fn uses_raptorq(&self) -> bool
pub fn uses_raptorq(&self) -> bool
Returns true if this value is in symbol-encoded form.
Sourcepub fn is_traditional(&self) -> bool
pub fn is_traditional(&self) -> bool
Returns true if this value is in traditional form.
Source§impl<T: Clone + Serialize + DeserializeOwned> DualValue<T>
impl<T: Clone + Serialize + DeserializeOwned> DualValue<T>
Sourcepub fn get(&self) -> Result<T, DualValueError>
pub fn get(&self) -> Result<T, DualValueError>
Retrieves the underlying value, deserializing if necessary.
Sourcepub fn ensure_symbols(&mut self, _config: &EncodingConfig)
pub fn ensure_symbols(&mut self, _config: &EncodingConfig)
Converts to symbol-encoded form if not already.
The _config parameter is reserved for future use with actual
RaptorQ encoding configuration.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for DualValue<T>where
T: Freeze,
impl<T> RefUnwindSafe for DualValue<T>where
T: RefUnwindSafe,
impl<T> Send for DualValue<T>where
T: Send,
impl<T> Sync for DualValue<T>where
T: Sync,
impl<T> Unpin for DualValue<T>where
T: Unpin,
impl<T> UnsafeUnpin for DualValue<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for DualValue<T>where
T: UnwindSafe,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).