36 lines
1.2 KiB
Rust
36 lines
1.2 KiB
Rust
use crate::message::backend::BackendMessage;
|
|
use crate::message::errors::ProtoDeserializeError;
|
|
use crate::reader::errors::{ProtoConsumeError, ProtoPeekError, ProtoReadError};
|
|
use crate::writer::errors::ProtoWriteError;
|
|
use thiserror::Error;
|
|
use tokio::io;
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum ClientHandshakeError {
|
|
#[error("unexpected response from server")]
|
|
UnexpectedResponse,
|
|
#[error("unexpected auth response")]
|
|
UnexpectedAuthResponse(BackendMessage),
|
|
#[error("socket communication failed")]
|
|
Io(#[from] io::Error),
|
|
#[error("writing message to socket failed")]
|
|
Write(#[from] ProtoWriteError),
|
|
#[error("reading message from socket failed")]
|
|
Read(#[from] ProtoReadError),
|
|
}
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum ServerHandshakeError {
|
|
#[error("startup message not found")]
|
|
MissingStartupMessage,
|
|
#[error("socket communication failed")]
|
|
Io(#[from] io::Error),
|
|
#[error("deserialization of inner data failed")]
|
|
Deserialize(#[from] ProtoDeserializeError),
|
|
#[error("peeking special message failed")]
|
|
Peek(#[from] ProtoPeekError),
|
|
#[error("consuming special message failed")]
|
|
Consume(#[from] ProtoConsumeError),
|
|
#[error("writing message to socket failed")]
|
|
Write(#[from] ProtoWriteError),
|
|
}
|