thalo_kafka/
error.rs

1use thiserror::Error;
2
3/// Error enum.
4#[derive(Debug, Error)]
5pub enum Error {
6    /// Failed to create stream.
7    #[error("failed to create stream")]
8    CreateStreamError(rdkafka::error::KafkaError),
9    /// Message had an empty payload.
10    #[error("empty message payload")]
11    EmptyPayloadError(rdkafka::message::OwnedMessage),
12    /// Event handler error.
13    #[error("event handler error: {0}")]
14    EventHandlerError(Box<dyn 'static + std::error::Error + Send>),
15    /// Message payload was unable to be decoded to event.
16    #[error("failed to decode message json: {serde_err}")]
17    MessageJsonDeserializeError {
18        /// Received kafka message.
19        message: rdkafka::message::OwnedMessage,
20        /// Serde json error.
21        serde_err: serde_json::Error,
22    },
23    /// An error occured while attempting to receive a message from the stream.
24    #[error("receive message error: {0}")]
25    RecieveMessageError(rdkafka::error::KafkaError),
26    /// An error occured while attempting to subscribe to a topic.
27    #[error("subscribe topic error: {0}")]
28    SubscribeTopicError(rdkafka::error::KafkaError),
29}