Expand description
Module for handling NFC scan events (“bloops”).
This module defines:
Bloop: Represents a single NFC scan event tied to a player and client.BloopCollection: A time-limited collection of bloops with pruning of old entries.BloopProvider: Provides access to bloops globally and per client.ProcessedBloop: A simplified representation for persistence.BloopRepository: Async trait abstraction for persisting processed bloops.ProcessedBloopSink: Buffers and persists bloops in batches driven by event notifications.
The system enables tracking and managing bloops efficiently with
asynchronous persistence. Features optional integration with graceful
shutdown via the tokio-graceful-shutdown crate.
Structs§
- Bloop
- Represents a single NFC tag scan (“bloop”) event.
- Bloop
Collection - A collection of bloops with a maximum age threshold.
- Bloop
Provider - Provides access to bloops globally and per client, respecting a maximum age.
- Processed
Bloop - A simplified representation of a bloop suitable for persistence.
- Processed
Bloop Sink - A sink that buffers processed bloops and persists them in batches.
- Processed
Bloop Sink Builder - Builder for constructing a
ProcessedBloopSink.
Enums§
Traits§
- Bloop
Repository - Interface for persisting processed bloops asynchronously.
Functions§
- bloops_
for_ player - Returns a closure to filter bloops belonging to a specific player.
- bloops_
since - Returns a closure to filter bloops recorded at or after a given timestamp.