scylla_cql/frame/request/
auth_response.rsuse std::num::TryFromIntError;
use thiserror::Error;
use crate::frame::frame_errors::CqlRequestSerializationError;
use crate::frame::request::{RequestOpcode, SerializableRequest};
use crate::frame::types::write_bytes_opt;
pub struct AuthResponse {
pub response: Option<Vec<u8>>,
}
impl SerializableRequest for AuthResponse {
const OPCODE: RequestOpcode = RequestOpcode::AuthResponse;
fn serialize(&self, buf: &mut Vec<u8>) -> Result<(), CqlRequestSerializationError> {
Ok(write_bytes_opt(self.response.as_ref(), buf)
.map_err(AuthResponseSerializationError::ResponseSerialization)?)
}
}
#[non_exhaustive]
#[derive(Error, Debug, Clone)]
pub enum AuthResponseSerializationError {
#[error("AUTH_RESPONSE body bytes length too big: {0}")]
ResponseSerialization(TryFromIntError),
}