Something went wrong. Try again.
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
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#![allow(unused_imports)]
#[cfg(feature = "indexer")]pub(crate) mod crawler;pub(crate) mod filter;pub(crate) mod firehose;pub(crate) mod new_pds_crawl;pub(crate) mod pds;pub(crate) mod repos;mod seed;pub(crate) mod stream;
pub mod db;pub mod hosts;pub mod hydrant;pub mod stats;
#[cfg(feature = "indexer")]mod indexer;#[cfg(feature = "indexer")]pub use indexer::*;
#[cfg(feature = "relay")]mod relay;#[cfg(feature = "relay")]pub use relay::*;#[cfg(feature = "jetstream")]mod jetstream;#[cfg(feature = "jetstream")]pub use jetstream::*;
pub use filter::{FilterControl, FilterPatch, FilterSnapshot};#[cfg(feature = "firehose-diagnostics")]pub use firehose::FirehoseDiagnosticsInfo;pub use firehose::{FirehoseHandle, FirehoseSourceInfo};pub use pds::{PdsControl, PdsTierAssignment, PdsTierDefinition};pub use repos::{ListedRecord, Record, RecordList, RepoHandle, RepoInfo, ReposControl};
pub use db::DbControl;pub use hosts::{ApiBind, ApiBinds, Host};pub use hydrant::{DatabasePoisoned, Hydrant};pub use stats::StatsResponse;
#[cfg(feature = "indexer_stream")]use crate::types::MarshallableEvt;
/// an event emitted by the hydrant event stream.////// three variants are possible depending on the `type` field:/// - `"record"`: a repo record was created, updated, or deleted. carries a [`RecordEvt`]./// - `"identity"`: a DID's handle or PDS changed. carries an [`IdentityEvt`]. ephemeral, not replayable./// - `"account"`: a repo's active/inactive status changed. carries an [`AccountEvt`]. ephemeral, not replayable.////// the `id` field is a monotonically increasing sequence number usable as a cursor for [`Hydrant::subscribe`].#[cfg(feature = "indexer_stream")]pub type Event = MarshallableEvt<'static>;
// Crate-internal re-exports for submodules using `super::*`pub(crate) use crate::state::AppState;pub(crate) use futures::Stream;pub(crate) use std::pin::Pin;pub(crate) use std::sync::Arc;pub(crate) use std::sync::atomic::{AtomicBool, Ordering};pub(crate) use std::task::{Context, Poll};#[cfg(feature = "jetstream")]use stream::jetstream_stream_thread;#[cfg(feature = "relay")]use stream::relay_stream_thread;#[cfg(feature = "indexer_stream")]use stream::{Decoded, Frame, event_stream_thread};pub(crate) use tokio::sync::mpsc;