···
pub struct LexiconHandle {
buf: Arc<scc::Queue<EventRecord>>,
79
-
buf_len: AtomicUsize,
80
-
last_insert: AtomicInstant,
79
+
buf_len: AtomicUsize, // relaxed
80
+
last_insert: AtomicInstant, // relaxed
81
+
block_size: AtomicUsize, // relaxed
82
-
block_size: AtomicUsize,
···
fn item_count(&self) -> usize {
99
-
self.buf_len.load(AtomicOrdering::Acquire)
99
+
self.buf_len.load(AtomicOrdering::Relaxed)
fn last_insert(&self) -> Instant {
103
-
self.last_insert.load(AtomicOrdering::Acquire)
103
+
self.last_insert.load(AtomicOrdering::Relaxed)
fn suggested_block_size(&self) -> usize {
···
fn insert(&self, event: EventRecord) {
112
-
self.buf_len.fetch_add(1, AtomicOrdering::Release);
112
+
self.buf_len.fetch_add(1, AtomicOrdering::Relaxed);
114
-
.store(Instant::now(), AtomicOrdering::Release);
114
+
.store(Instant::now(), AtomicOrdering::Relaxed);
self.eps.observe(&(), 1);
let rate = self.eps.rate(&()) as usize;
···
if let (Some(start_timestamp), Some(end_timestamp)) = (start_timestamp, end_timestamp) {
147
-
self.buf_len.store(0, AtomicOrdering::Release);
147
+
self.buf_len.store(0, AtomicOrdering::Relaxed);
let value = writer.finish()?;
let mut key = Vec::with_capacity(size_of::<u64>() * 2);
key.write_varint(start_timestamp)?;
···
// hits is tree per nsid: varint start time + varint end time -> block of hits
hits: scc::HashIndex<SmolStr, Arc<LexiconHandle>>,
syncpool: threadpool::ThreadPool,
event_broadcaster: broadcast::Sender<(SmolStr, NsidCounts)>,
shutting_down: AtomicBool,