pub enum Destination {
Resource {
resource: Resource,
parent: Option<Box<Self>>,
},
Node(String),
}Expand description
Destination for consent requests with built-in hierarchical structure.
The hierarchy is encoded in the type itself:
- A
Resourcecan have aparentdestination (typically aNode) - This creates a natural traversal from specific to broad scopes
Example: Resource { resource: file, parent: Some(Node("node1")) }
represents a file on node1, with node1 as the fallback consent scope.
Variants§
Resource
A specific resource, optionally with a parent destination for hierarchy.
Node(String)
A node destination.
Implementations§
Trait Implementations§
Source§impl Clone for Destination
impl Clone for Destination
Source§fn clone(&self) -> Destination
fn clone(&self) -> Destination
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 Destination
impl Debug for Destination
Source§impl From<Destination> for Destination
Converts Protocol Buffer Destination to internal Destination type.
impl From<Destination> for Destination
Converts Protocol Buffer Destination to internal Destination type.
Source§fn from(proto_dest: Destination) -> Self
fn from(proto_dest: Destination) -> Self
Converts to this type from the input type.
Source§impl From<Destination> for Destination
Converts internal Destination to Protocol Buffer Destination type.
Preserves LocalizedResource context by reconstructing the hierarchical structure.
impl From<Destination> for Destination
Converts internal Destination to Protocol Buffer Destination type. Preserves LocalizedResource context by reconstructing the hierarchical structure.
Source§fn from(dest: Destination) -> Self
fn from(dest: Destination) -> Self
Converts to this type from the input type.
Source§impl From<LocalizedResource> for Destination
impl From<LocalizedResource> for Destination
Source§fn from(localized_resource: LocalizedResource) -> Self
fn from(localized_resource: LocalizedResource) -> Self
Converts to this type from the input type.
Source§impl Hash for Destination
impl Hash for Destination
Source§impl PartialEq for Destination
impl PartialEq for Destination
Source§impl TryFrom<&str> for Destination
Parse a Destination from a string.
Tries three formats in order:
impl TryFrom<&str> for Destination
Parse a Destination from a string. Tries three formats in order:
- LocalizedResource: “node_id@resource_spec”
- Resource: “file:///path” or “stream://local::peer”
- Node ID: a simple string without whitespaces
Source§impl TryFrom<String> for Destination
impl TryFrom<String> for Destination
impl Eq for Destination
impl StructuralPartialEq for Destination
Auto Trait Implementations§
impl Freeze for Destination
impl RefUnwindSafe for Destination
impl Send for Destination
impl Sync for Destination
impl Unpin for Destination
impl UnwindSafe for Destination
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<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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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 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].