use crate::io::Encode;
use crate::mysql::protocol::Capabilities;
#[derive(Debug)]
pub struct SslRequest {
pub max_packet_size: u32,
pub collation: u8,
}
impl Encode<'_, Capabilities> for SslRequest {
fn encode_with(&self, buf: &mut Vec<u8>, capabilities: Capabilities) {
buf.extend(&(capabilities.bits() as u32).to_le_bytes());
buf.extend(&self.max_packet_size.to_le_bytes());
buf.push(self.collation);
buf.extend(&[0_u8; 19]);
if capabilities.contains(Capabilities::MYSQL) {
buf.extend(&[0_u8; 4]);
} else {
buf.extend(&((capabilities.bits() >> 32) as u32).to_le_bytes());
}
}
}