pub struct LoopDetector { /* private fields */ }Implementations§
Source§impl LoopDetector
impl LoopDetector
pub fn new() -> Self
pub fn with_config(cfg: &LoopDetectionConfig) -> Self
pub fn record_call( &mut self, tool: &str, args_fingerprint: &str, ) -> ThrottleResult
Sourcepub fn record_search(
&mut self,
tool: &str,
args_fingerprint: &str,
search_pattern: Option<&str>,
) -> ThrottleResult
pub fn record_search( &mut self, tool: &str, args_fingerprint: &str, search_pattern: Option<&str>, ) -> ThrottleResult
Record a search-category call and check the cross-tool search group limit.
search_pattern is the extracted query/regex the agent is looking for (if available).
pub fn is_search_tool(tool: &str) -> bool
pub fn is_search_shell_command(command: &str) -> bool
pub fn fingerprint(args: &Value) -> String
pub fn stats(&self) -> Vec<(String, u32)>
pub fn reset(&mut self)
Trait Implementations§
Source§impl Clone for LoopDetector
impl Clone for LoopDetector
Source§fn clone(&self) -> LoopDetector
fn clone(&self) -> LoopDetector
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 LoopDetector
impl Debug for LoopDetector
Auto Trait Implementations§
impl Freeze for LoopDetector
impl RefUnwindSafe for LoopDetector
impl Send for LoopDetector
impl Sync for LoopDetector
impl Unpin for LoopDetector
impl UnsafeUnpin for LoopDetector
impl UnwindSafe for LoopDetector
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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