krabka_client_streams/
error.rs1#[derive(Debug, thiserror::Error)]
5pub enum StreamsClientError {
6 #[cfg(not(target_family = "wasm"))]
8 #[error(transparent)]
9 Transport(#[from] krabka_client_core::ClientError),
10 #[error("topology error: {0}")]
12 Topology(#[from] crate::topology::TopologyError),
13 #[error("streams group coordinator unavailable")]
15 CoordinatorUnavailable,
16 #[error("invalid topology (code {code}): {message}")]
19 InvalidTopology { code: i16, message: String },
20 #[error("authorization failed (code {0})")]
22 Authorization(i16),
23 #[error("group id not found")]
25 GroupIdNotFound,
26 #[error("membership closed")]
28 Closed,
29 #[error("broker error code {0}")]
31 Server(i16),
32 #[error("runtime error: {0}")]
34 Runtime(String),
35 #[cfg(not(target_family = "wasm"))]
38 #[error(transparent)]
39 Producer(#[from] krabka_client_producer::ProducerError),
40 #[cfg(not(target_family = "wasm"))]
42 #[error(transparent)]
43 InteractiveQuery(#[from] crate::runtime::iq::IqError),
44 #[error("malformed barrier state {part}: {message}")]
48 BarrierFormat { part: &'static str, message: String },
49 #[error("state snapshot error: {0}")]
51 Snapshot(String),
52}
53
54#[cfg(not(target_family = "wasm"))]
55impl StreamsClientError {
56 #[must_use]
57 pub(crate) fn is_producer_fenced(&self) -> bool {
58 matches!(
59 self,
60 Self::Producer(krabka_client_producer::ProducerError::FencedProducer)
61 )
62 }
63}