pub struct EndpointEngine {
pub allowlist: Arc<DeveloperAllowlist>,
pub threat_intel: Arc<ThreatIntelDB>,
pub quarantine: Arc<QuarantineVault>,
pub dns_filter: Option<Arc<DnsFilter>>,
/* private fields */
}Expand description
Orchestrates all endpoint protection subsystems.
Fields§
§allowlist: Arc<DeveloperAllowlist>Developer-aware allowlist.
threat_intel: Arc<ThreatIntelDB>Threat intelligence database.
quarantine: Arc<QuarantineVault>File quarantine vault.
dns_filter: Option<Arc<DnsFilter>>DNS filtering proxy.
Implementations§
Source§impl EndpointEngine
impl EndpointEngine
Sourcepub fn new(config: EndpointConfig) -> Self
pub fn new(config: EndpointConfig) -> Self
Create a new endpoint engine with the given configuration.
Sourcepub async fn start(&self, audit: Arc<AuditChain>) -> Vec<JoinHandle<()>>
pub async fn start(&self, audit: Arc<AuditChain>) -> Vec<JoinHandle<()>>
Start all background monitors. Returns JoinHandles for spawned tasks.
Sourcepub async fn scan_file(&self, path: &Path) -> Vec<ScanResult>
pub async fn scan_file(&self, path: &Path) -> Vec<ScanResult>
Scan a single file with all engines.
Sourcepub async fn scan_dir(&self, dir: &Path) -> Vec<ScanResult>
pub async fn scan_dir(&self, dir: &Path) -> Vec<ScanResult>
Scan a directory recursively.
Sourcepub fn subscribe(&self) -> Receiver<ScanResult>
pub fn subscribe(&self) -> Receiver<ScanResult>
Subscribe to real-time scan results.
Sourcepub fn recent_detections(&self, count: usize) -> Vec<ScanResult>
pub fn recent_detections(&self, count: usize) -> Vec<ScanResult>
Get recent detection history.
Sourcepub fn stats(&self) -> EndpointStats
pub fn stats(&self) -> EndpointStats
Get runtime statistics.
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Check if the engine is running.
Auto Trait Implementations§
impl !Freeze for EndpointEngine
impl !RefUnwindSafe for EndpointEngine
impl Send for EndpointEngine
impl Sync for EndpointEngine
impl Unpin for EndpointEngine
impl UnsafeUnpin for EndpointEngine
impl !UnwindSafe for EndpointEngine
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