Package ai.attackframework.tools.burp.utils.concurrent
package ai.attackframework.tools.burp.utils.concurrent
Concurrency helpers shared by sinks, UI, and retry paths.
Contains small utilities that every extension-owned background worker uses so lifecycle semantics stay consistent across UI stop and extension unload:
Workerscentralizes the "shutdownNow+awaitTermination" and "interrupt+join" patterns forExecutorServiceand rawThreadowners.LazySchedulerowns the "volatilefield +synchronizedensure-started +Workersshutdown" pattern used by every reporter and by the orphan-flush path so lazy start and deterministic teardown are implemented in one place.
-
ClassesClassDescriptionMonitors Event Dispatch Thread (EDT) responsiveness during long-running snapshots so we can tell whether observed UI freezes are caused by JVM-wide stop-the-world pauses, EDT-only starvation (snapshot thread busy, EDT idle but not scheduled), or a specific blocking call holding the EDT.Test seam: small wallclock helper exposed for symmetry with chunk-log embedding.Lazily-started single-thread daemon
ScheduledExecutorServiceowned by one class.Pacing primitives for snapshot reporters that walk large per-item collections (proxy history, sitemap, websocket history) and risk dominating JVM allocation throughput.Shared shutdown helpers for extension-owned background workers.