pub struct AnprEngine { /* private fields */ }Implementations§
Source§impl AnprEngine
impl AnprEngine
pub fn new( pool: SqlitePool, cfg: Arc<Config>, ecfg: Arc<EntryConfig>, ) -> Arc<Self>
Sourcepub async fn process(
&self,
camera_id: &str,
site_id: Option<&str>,
detections: &[DetectionIngest],
)
pub async fn process( &self, camera_id: &str, site_id: Option<&str>, detections: &[DetectionIngest], )
Feed a batch of ANPR detections for a camera. Each detection carries vehicle + plate fields
in attributes (plate, plate_confidence, vehicle_type, color, make, model, direction,
model_versions). Commits tracks that reach the vote threshold and prunes/commits stale ones.
Trait Implementations§
Source§impl DetectionConsumer for AnprEngine
impl DetectionConsumer for AnprEngine
Source§fn interested_in(&self, task_type: &str) -> bool
fn interested_in(&self, task_type: &str) -> bool
Only the ANPR task feeds the entry engine.
Source§fn consume<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
batch: &'life1 DetectionBatch<'life2>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn consume<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
batch: &'life1 DetectionBatch<'life2>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Process a persisted batch. Must not panic; errors are the consumer’s own to log/handle.
Auto Trait Implementations§
impl !Freeze for AnprEngine
impl !RefUnwindSafe for AnprEngine
impl !UnwindSafe for AnprEngine
impl Send for AnprEngine
impl Sync for AnprEngine
impl Unpin for AnprEngine
impl UnsafeUnpin for AnprEngine
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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