pub struct ResolvedPeers {
pub agent_peers: BTreeMap<String, BTreeSet<String>>,
pub external_peers: BTreeMap<String, BTreeSet<String>>,
}Expand description
Effective peer set for one agent, keyed by channel type.
Fields§
§agent_peers: BTreeMap<String, BTreeSet<String>>Channel type → peer-agent aliases (bound agent excluded).
external_peers: BTreeMap<String, BTreeSet<String>>Channel type → external-peer usernames (case-folded).
Implementations§
Source§impl ResolvedPeers
impl ResolvedPeers
Sourcepub fn is_known_peer(&self, channel_type: &str, target: &str) -> bool
pub fn is_known_peer(&self, channel_type: &str, target: &str) -> bool
Whether the bound agent recognizes target as a peer on a
channel of channel_type. Outbound gate: unknown returns false.
Sourcepub fn allows_inbound(&self, channel_type: &str, origin: &str) -> bool
pub fn allows_inbound(&self, channel_type: &str, origin: &str) -> bool
NOT a security gate. Unknown senders return true by design;
peer groups are an additive routing hint for cross-agent traffic,
not a global inbound allowlist. Callers must have already
authenticated the sender (channel auth, signed webhook, etc.)
before reaching this check.
Trait Implementations§
Source§impl Clone for ResolvedPeers
impl Clone for ResolvedPeers
Source§fn clone(&self) -> ResolvedPeers
fn clone(&self) -> ResolvedPeers
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 ResolvedPeers
impl Debug for ResolvedPeers
Source§impl Default for ResolvedPeers
impl Default for ResolvedPeers
Source§fn default() -> ResolvedPeers
fn default() -> ResolvedPeers
Returns the “default value” for a type. Read more
Source§impl PartialEq for ResolvedPeers
impl PartialEq for ResolvedPeers
impl Eq for ResolvedPeers
impl StructuralPartialEq for ResolvedPeers
Auto Trait Implementations§
impl Freeze for ResolvedPeers
impl RefUnwindSafe for ResolvedPeers
impl Send for ResolvedPeers
impl Sync for ResolvedPeers
impl Unpin for ResolvedPeers
impl UnsafeUnpin for ResolvedPeers
impl UnwindSafe for ResolvedPeers
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
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<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