Enum FieldValue
#[non_exhaustive]pub enum FieldValue {
Show 13 variants
I64(i64),
F64(f64),
Bool(bool),
String(String),
Bytes(Vec<u8>),
PooledString(InternedString),
StackFrames(StackFrames),
PooledStackFrames(InternedStackFrames),
Varint(u64),
StringMap(Vec<(Vec<u8>, Vec<u8>)>),
List(Vec<FieldValue>),
Map(Vec<(FieldValue, FieldValue)>),
None,
}Available on crate feature
dial9 only.Expand description
Owned field value. Decoded from the wire format.
Note: U8, U16, and U32 wire types are decoded into Varint(v as u64).
The original fixed-width type is not preserved — use the schema’s FieldType
if you need to distinguish them.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
I64(i64)
F64(f64)
Bool(bool)
String(String)
Bytes(Vec<u8>)
PooledString(InternedString)
StackFrames(StackFrames)
PooledStackFrames(InternedStackFrames)
Varint(u64)
StringMap(Vec<(Vec<u8>, Vec<u8>)>)
List(Vec<FieldValue>)
Self-describing list: each element carries its own type tag.
Map(Vec<(FieldValue, FieldValue)>)
Self-describing map: each entry carries type tags for key and value.
None
Absent optional field.
Implementations§
§impl FieldValue
impl FieldValue
pub fn string(s: &str) -> FieldValue
pub fn field_type_tag(&self) -> u8
pub fn field_type_tag(&self) -> u8
Returns the FieldType wire tag corresponding to this value’s type.
Used for self-describing encoding in DynamicList/DynamicMap.
Trait Implementations§
§impl Clone for FieldValue
impl Clone for FieldValue
§fn clone(&self) -> FieldValue
fn clone(&self) -> FieldValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for FieldValue
impl Debug for FieldValue
§impl PartialEq for FieldValue
impl PartialEq for FieldValue
§impl Serialize for FieldValue
Available on crate feature serde only.
impl Serialize for FieldValue
Available on crate feature
serde only.§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for FieldValue
Auto Trait Implementations§
impl Freeze for FieldValue
impl RefUnwindSafe for FieldValue
impl Send for FieldValue
impl Sync for FieldValue
impl Unpin for FieldValue
impl UnsafeUnpin for FieldValue
impl UnwindSafe for FieldValue
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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 more§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 rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more