diff --git a/src/admin.rs b/src/admin.rs index ed2d3de..1aa2bce 100644 --- a/src/admin.rs +++ b/src/admin.rs @@ -16,11 +16,11 @@ use crate::ClientServerMap; pub fn generate_server_info_for_admin() -> BytesMut { let mut server_info = BytesMut::new(); - server_info.put(server_paramater_message("application_name", "")); - server_info.put(server_paramater_message("client_encoding", "UTF8")); - server_info.put(server_paramater_message("server_encoding", "UTF8")); - server_info.put(server_paramater_message("server_version", VERSION)); - server_info.put(server_paramater_message("DateStyle", "ISO, MDY")); + server_info.put(server_parameter_message("application_name", "")); + server_info.put(server_parameter_message("client_encoding", "UTF8")); + server_info.put(server_parameter_message("server_encoding", "UTF8")); + server_info.put(server_parameter_message("server_version", VERSION)); + server_info.put(server_parameter_message("DateStyle", "ISO, MDY")); return server_info; } diff --git a/src/config.rs b/src/config.rs index 5c12261..9ef4d17 100644 --- a/src/config.rs +++ b/src/config.rs @@ -12,8 +12,8 @@ use tokio::io::AsyncReadExt; use toml; use crate::errors::Error; +use crate::pool::{ClientServerMap, ConnectionPool}; use crate::tls::{load_certs, load_keys}; -use crate::{ClientServerMap, ConnectionPool}; pub const VERSION: &str = env!("CARGO_PKG_VERSION"); diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..e9a683f --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,32 @@ +pub mod config; +pub mod constants; +pub mod errors; +pub mod messages; +pub mod pool; +pub mod scram; +pub mod server; +pub mod sharding; +pub mod stats; +pub mod tls; + +/// Format chrono::Duration to be more human-friendly. +/// +/// # Arguments +/// +/// * `duration` - A duration of time +pub fn format_duration(duration: &chrono::Duration) -> String { + let milliseconds = format!("{:0>3}", duration.num_milliseconds() % 1000); + + let seconds = format!("{:0>2}", duration.num_seconds() % 60); + + let minutes = format!("{:0>2}", duration.num_minutes() % 60); + + let hours = format!("{:0>2}", duration.num_hours() % 24); + + let days = duration.num_days().to_string(); + + format!( + "{}d {}:{}:{}.{}", + days, hours, minutes, seconds, milliseconds + ) +} diff --git a/src/main.rs b/src/main.rs index 0d4bd37..6690b56 100644 --- a/src/main.rs +++ b/src/main.rs @@ -39,6 +39,7 @@ extern crate toml; use log::{debug, error, info}; use parking_lot::Mutex; +use pgcat::format_duration; use tokio::net::TcpListener; use tokio::{ signal::unix::{signal as unix_signal, SignalKind}, @@ -301,25 +302,3 @@ async fn main() { info!("Shutting down..."); } - -/// Format chrono::Duration to be more human-friendly. -/// -/// # Arguments -/// -/// * `duration` - A duration of time -fn format_duration(duration: &chrono::Duration) -> String { - let milliseconds = format!("{:0>3}", duration.num_milliseconds() % 1000); - - let seconds = format!("{:0>2}", duration.num_seconds() % 60); - - let minutes = format!("{:0>2}", duration.num_minutes() % 60); - - let hours = format!("{:0>2}", duration.num_hours() % 24); - - let days = duration.num_days().to_string(); - - format!( - "{}d {}:{}:{}.{}", - days, hours, minutes, seconds, milliseconds - ) -} diff --git a/src/messages.rs b/src/messages.rs index 113e1ed..78cb9db 100644 --- a/src/messages.rs +++ b/src/messages.rs @@ -496,7 +496,7 @@ where Ok(bytes) } -pub fn server_paramater_message(key: &str, value: &str) -> BytesMut { +pub fn server_parameter_message(key: &str, value: &str) -> BytesMut { let mut server_info = BytesMut::new(); let null_byte_size = 1; diff --git a/src/server.rs b/src/server.rs index d8d23d6..64886be 100644 --- a/src/server.rs +++ b/src/server.rs @@ -14,9 +14,9 @@ use crate::config::{Address, User}; use crate::constants::*; use crate::errors::Error; use crate::messages::*; +use crate::pool::ClientServerMap; use crate::scram::ScramSha256; use crate::stats::Reporter; -use crate::ClientServerMap; /// Server state. pub struct Server {