Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
1use thiserror::Error; 2 3#[derive(Debug, Error)] 4pub enum MainTaskError { 5 #[error(transparent)] 6 ConsumerTaskError(#[from] ConsumerError), 7 #[error(transparent)] 8 ServerTaskError(#[from] ServerError), 9 #[error(transparent)] 10 DelayTaskError(#[from] DelayError), 11} 12 13#[derive(Debug, Error)] 14pub enum ConsumerError { 15 #[error(transparent)] 16 JetstreamConnectionError(#[from] jetstream::error::ConnectionError), 17 #[error(transparent)] 18 JetstreamConfigValidationError(#[from] jetstream::error::ConfigValidationError), 19 #[error("jetstream ended")] 20 JetstreamEnded, 21 #[error("delay queue output dropped")] 22 DelayQueueOutputDropped, 23} 24 25#[derive(Debug, Error)] 26pub enum SubscriberUpdateError { 27 #[error("failed to parse json for subscriber update: {0}")] 28 FailedToParseMessage(serde_json::Error), 29 #[error("more wantedSources were requested than allowed (max 1,000)")] 30 TooManySourcesWanted, 31 #[error("more wantedSubjectDids were requested than allowed (max 10,000)")] 32 TooManyDidsWanted, 33 #[error("more wantedSubjects were requested than allowed (max 50,000)")] 34 TooManySubjectsWanted, 35} 36 37#[derive(Debug, Error)] 38pub enum DelayError { 39 #[error("delay ended")] 40 DelayEnded, 41} 42 43#[derive(Debug, Error)] 44pub enum ServerError { 45 #[error("failed to configure server logger: {0}")] 46 ConfigLogError(std::io::Error), 47 #[error("failed to render json for openapi: {0}")] 48 OpenApiJsonFail(serde_json::Error), 49 #[error(transparent)] 50 FailedToBuildServer(#[from] dropshot::BuildError), 51 #[error("server exited: {0}")] 52 ServerExited(String), 53 #[error("server closed badly: {0}")] 54 BadClose(String), 55}