pub struct PeerACL {
pub peer_id: PeerId,
pub permissions: Vec<MCPPermission>,
pub security_level: SecurityLevel,
pub reputation: f64,
pub last_access: SystemTime,
pub access_count: u64,
pub rate_violations: u32,
pub banned_until: Option<SystemTime>,
}
Expand description
Access control list for a peer
Fields§
§peer_id: PeerId
Peer ID
permissions: Vec<MCPPermission>
Granted permissions
security_level: SecurityLevel
Security level
reputation: f64
Reputation score (0.0 to 1.0)
last_access: SystemTime
Last access time
access_count: u64
Access count
rate_violations: u32
Rate limit violations
banned_until: Option<SystemTime>
Banned until (if applicable)
Implementations§
Source§impl PeerACL
impl PeerACL
Sourcepub fn has_permission(&self, permission: &MCPPermission) -> bool
pub fn has_permission(&self, permission: &MCPPermission) -> bool
Check if peer has specific permission
Sourcepub fn record_access(&mut self)
pub fn record_access(&mut self)
Update access statistics
Sourcepub fn record_rate_violation(&mut self)
pub fn record_rate_violation(&mut self)
Record rate limit violation
Sourcepub fn grant_permission(&mut self, permission: MCPPermission)
pub fn grant_permission(&mut self, permission: MCPPermission)
Grant permission to peer
Sourcepub fn revoke_permission(&mut self, permission: &MCPPermission)
pub fn revoke_permission(&mut self, permission: &MCPPermission)
Revoke permission from peer
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PeerACL
impl RefUnwindSafe for PeerACL
impl Send for PeerACL
impl Sync for PeerACL
impl Unpin for PeerACL
impl UnwindSafe for PeerACL
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