use crate::{
common::request_helpers,
protocol::{check_version, Features},
Client, Error,
};
use super::builder::UpdateConfigBuilder;
use super::{common::decoders, encoders, Config};
impl Client {
pub async fn config(&self) -> Result<Config, Error> {
check_version(self.server_version(), Features::CONFIG)?;
request_helpers::one_shot_request_with_retry(self, encoders::encode_request_config, decoders::decode_config_message, || {
Err(Error::UnexpectedEndOfStream)
})
.await
}
pub fn update_config(&self) -> UpdateConfigBuilder<'_, Client> {
UpdateConfigBuilder::new(self)
}
}
#[cfg(test)]
#[path = "async_tests.rs"]
mod tests;