use alloc::string::String;
#[derive(Clone, Debug, PartialEq, Eq, thiserror::Error)]
pub enum SdkError {
#[error("push reception is already claimed")]
ReceiverAlreadyClaimed,
#[error("idle receive interrupted by its owner")]
ReadInterrupted,
#[error("connection error: {description}")]
Connection {
description: String,
},
#[error("protocol error: {description}")]
Protocol {
description: String,
},
#[error("serialization error: {description}")]
Serialization {
description: String,
},
#[error("type validation failed: {description}")]
TypeValidation {
description: String,
},
#[error("backpressure: {reason}")]
Backpressure {
reason: String,
},
#[error("publish unresolved: {description}")]
PublishUnresolved {
description: String,
},
#[error("conversation {conversation_id}: {description}")]
Conversation {
conversation_id: String,
description: String,
},
#[error("store error: {description}")]
Store {
description: String,
},
#[error(
"transport not connected: {operation} needs a connected transport; call \
RemoteConfig::connect_tcp or RemoteConfig::connect_websocket first"
)]
NotConnected {
operation: String,
},
#[error("{surface} is not wired ({seam}); {alternative}")]
Unwired {
surface: String,
seam: String,
alternative: String,
},
}