mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-27 10:46:30 +00:00
10
src/admin.rs
10
src/admin.rs
@@ -16,11 +16,11 @@ use crate::ClientServerMap;
|
|||||||
pub fn generate_server_info_for_admin() -> BytesMut {
|
pub fn generate_server_info_for_admin() -> BytesMut {
|
||||||
let mut server_info = BytesMut::new();
|
let mut server_info = BytesMut::new();
|
||||||
|
|
||||||
server_info.put(server_paramater_message("application_name", ""));
|
server_info.put(server_parameter_message("application_name", ""));
|
||||||
server_info.put(server_paramater_message("client_encoding", "UTF8"));
|
server_info.put(server_parameter_message("client_encoding", "UTF8"));
|
||||||
server_info.put(server_paramater_message("server_encoding", "UTF8"));
|
server_info.put(server_parameter_message("server_encoding", "UTF8"));
|
||||||
server_info.put(server_paramater_message("server_version", VERSION));
|
server_info.put(server_parameter_message("server_version", VERSION));
|
||||||
server_info.put(server_paramater_message("DateStyle", "ISO, MDY"));
|
server_info.put(server_parameter_message("DateStyle", "ISO, MDY"));
|
||||||
|
|
||||||
return server_info;
|
return server_info;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ use tokio::io::AsyncReadExt;
|
|||||||
use toml;
|
use toml;
|
||||||
|
|
||||||
use crate::errors::Error;
|
use crate::errors::Error;
|
||||||
|
use crate::pool::{ClientServerMap, ConnectionPool};
|
||||||
use crate::tls::{load_certs, load_keys};
|
use crate::tls::{load_certs, load_keys};
|
||||||
use crate::{ClientServerMap, ConnectionPool};
|
|
||||||
|
|
||||||
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
|
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
|
||||||
|
|
||||||
|
|||||||
32
src/lib.rs
Normal file
32
src/lib.rs
Normal file
@@ -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
|
||||||
|
)
|
||||||
|
}
|
||||||
23
src/main.rs
23
src/main.rs
@@ -39,6 +39,7 @@ extern crate toml;
|
|||||||
|
|
||||||
use log::{debug, error, info};
|
use log::{debug, error, info};
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
|
use pgcat::format_duration;
|
||||||
use tokio::net::TcpListener;
|
use tokio::net::TcpListener;
|
||||||
use tokio::{
|
use tokio::{
|
||||||
signal::unix::{signal as unix_signal, SignalKind},
|
signal::unix::{signal as unix_signal, SignalKind},
|
||||||
@@ -301,25 +302,3 @@ async fn main() {
|
|||||||
|
|
||||||
info!("Shutting down...");
|
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
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -496,7 +496,7 @@ where
|
|||||||
Ok(bytes)
|
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 mut server_info = BytesMut::new();
|
||||||
|
|
||||||
let null_byte_size = 1;
|
let null_byte_size = 1;
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ use crate::config::{Address, User};
|
|||||||
use crate::constants::*;
|
use crate::constants::*;
|
||||||
use crate::errors::Error;
|
use crate::errors::Error;
|
||||||
use crate::messages::*;
|
use crate::messages::*;
|
||||||
|
use crate::pool::ClientServerMap;
|
||||||
use crate::scram::ScramSha256;
|
use crate::scram::ScramSha256;
|
||||||
use crate::stats::Reporter;
|
use crate::stats::Reporter;
|
||||||
use crate::ClientServerMap;
|
|
||||||
|
|
||||||
/// Server state.
|
/// Server state.
|
||||||
pub struct Server {
|
pub struct Server {
|
||||||
|
|||||||
Reference in New Issue
Block a user