Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
at metrics 57 lines 1.8 kB view raw
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 wantedSubjectPrefixes were requested than allowed (max 100)")] 34 TooManySubjectPrefixesWanted, 35 #[error("more wantedSubjects were requested than allowed (max 50,000)")] 36 TooManySubjectsWanted, 37} 38 39#[derive(Debug, Error)] 40pub enum DelayError { 41 #[error("delay ended")] 42 DelayEnded, 43} 44 45#[derive(Debug, Error)] 46pub enum ServerError { 47 #[error("failed to configure server logger: {0}")] 48 ConfigLogError(std::io::Error), 49 #[error("failed to render json for openapi: {0}")] 50 OpenApiJsonFail(serde_json::Error), 51 #[error(transparent)] 52 FailedToBuildServer(#[from] dropshot::BuildError), 53 #[error("server exited: {0}")] 54 ServerExited(String), 55 #[error("server closed badly: {0}")] 56 BadClose(String), 57}