very fast at protocol indexer with flexible filtering, xrpc queries, cursor-backed event stream, and more, built on fjall
rust fjall at-protocol atproto indexer
58
fork

Configure Feed

Select the types of activity you want to include in your feed.

[firehose] throttle on empty frame as well

dawn fdc452f7 b70fdcce

+3 -3
+3 -3
src/ingest/firehose.rs
··· 135 135 // continue; 136 136 // } 137 137 // } 138 - let timeout = if let FirehoseError::WebSocket(e) = &e 139 - && is_throttle_worthy(e) 140 - { 138 + let do_throttle = matches!(&e, FirehoseError::WebSocket(e) if is_throttle_worthy(e)) 139 + || matches!(&e, FirehoseError::EmptyFrame); 140 + let timeout = if do_throttle { 141 141 self.throttle.record_failure(); 142 142 let until = self.throttle.throttled_until(); 143 143 Duration::from_secs((until - chrono::Utc::now().timestamp()) as u64)