use crate::{is_master::IsMasterReply, sdam::ServerType};
#[derive(Debug, Default)]
pub(crate) struct StreamDescription {
pub(crate) server_type: ServerType,
pub(crate) max_wire_version: Option<i32>,
pub(crate) min_wire_version: Option<i32>,
pub(crate) sasl_supported_mechs: Option<Vec<String>>,
}
impl StreamDescription {
pub(crate) fn from_is_master(reply: IsMasterReply) -> Self {
Self {
server_type: reply.command_response.server_type(),
max_wire_version: reply.command_response.max_wire_version,
min_wire_version: reply.command_response.min_wire_version,
sasl_supported_mechs: reply.command_response.sasl_supported_mechs,
}
}
#[cfg(test)]
pub(crate) fn new_testing() -> Self {
Self {
server_type: Default::default(),
max_wire_version: Some(8),
min_wire_version: Some(8),
sasl_supported_mechs: Default::default(),
}
}
}