Struct QueryPair
pub struct QueryPair { /* private fields */ }http only.Expand description
One owned name[=value] pair, cheap to clone. Produced by
QueryMut::pop and
QueryMut::drain — popping a pair off a
query doesn’t copy the byte content (the buffer is refcount-shared
with the source).
Implementations§
§impl QueryPair
impl QueryPair
pub fn view(&self) -> QueryPairRef<'_>
Available on crate feature net only.
pub fn view(&self) -> QueryPairRef<'_>
net only.Borrowed view. All inspection methods on QueryPair route
through this — single source of truth for the slicing /
decoding logic.
pub fn name_bytes(&self) -> &[u8] ⓘ
Available on crate feature net only.
pub fn name_bytes(&self) -> &[u8] ⓘ
net only.Raw on-wire bytes of the name. See QueryPairRef::name_bytes.
pub fn name_raw(&self) -> &str
Available on crate feature net only.
pub fn name_raw(&self) -> &str
net only.Name as &str with no decoding. Parser-validated UTF-8.
pub fn name_decoded(&self) -> Cow<'_, str>
Available on crate feature net only.
pub fn name_decoded(&self) -> Cow<'_, str>
net only.Name with form-urlencoded decoding: + → space, %XX → byte.
Cow::Borrowed when neither escape is present.
pub fn value_bytes(&self) -> Option<&[u8]>
Available on crate feature net only.
pub fn value_bytes(&self) -> Option<&[u8]>
net only.Raw on-wire bytes of the value, or None for a bare key (?foo).
pub fn value_raw(&self) -> Option<&str>
Available on crate feature net only.
pub fn value_raw(&self) -> Option<&str>
net only.Value as &str with no decoding, or None for a bare key.
pub fn value_decoded(&self) -> Option<Cow<'_, str>>
Available on crate feature net only.
pub fn value_decoded(&self) -> Option<Cow<'_, str>>
net only.Value with form-urlencoded decoding (+ → space, %XX → byte),
or None for a bare key.
Trait Implementations§
impl Eq for QueryPair
§impl FromIterator<QueryPair> for Query
impl FromIterator<QueryPair> for Query
§fn from_iter<I>(iter: I) -> Querywhere
I: IntoIterator<Item = QueryPair>,
fn from_iter<I>(iter: I) -> Querywhere
I: IntoIterator<Item = QueryPair>,
Build a Query by concatenating pre-encoded pair bytes with
& separators. No re-encoding — the pairs’ bytes are assumed to
already be in canonical on-wire form (which they are, when they
come from QueryRef::pairs, QueryMut::pop
or QueryMut::drain).
impl StructuralPartialEq for QueryPair
Auto Trait Implementations§
impl !Freeze for QueryPair
impl RefUnwindSafe for QueryPair
impl Send for QueryPair
impl Sync for QueryPair
impl Unpin for QueryPair
impl UnsafeUnpin for QueryPair
impl UnwindSafe for QueryPair
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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> ⓘ
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> ⓘ
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>
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>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
value to writer