refactor: address 5-pass audit findings for antipatterns, bottlenecks, memory efficiency, and LLM handlers
This commit is contained in:
1 parent
626403900f
commit
924b6d09fa
30 files changed
+1120
-503
No files matched your search
+18
-23
@@ -255,7 +255,7 @@ pub async fn run_server(state: Arc<MemoryState>) -> Result<(), Box<dyn std::erro
|
||||
tokio::spawn(async move {
|
||||
let port1 = std::env::var("MCP_UDP_PORT1").unwrap_or_else(|_| "3001".to_string());
|
||||
if let Ok(socket) = tokio::net::UdpSocket::bind(format!("127.0.0.1:{}", port1)).await {
|
||||
let mut buf = [0; 4096];
|
||||
let mut buf = vec![0u8; 65536];
|
||||
loop {
|
||||
if let Ok((len, _addr)) = socket.recv_from(&mut buf).await
|
||||
&& let Ok(payload) =
|
||||
@@ -291,7 +291,7 @@ pub async fn run_server(state: Arc<MemoryState>) -> Result<(), Box<dyn std::erro
|
||||
tokio::spawn(async move {
|
||||
let port2 = std::env::var("MCP_UDP_PORT2").unwrap_or_else(|_| "3002".to_string());
|
||||
if let Ok(socket) = tokio::net::UdpSocket::bind(format!("127.0.0.1:{}", port2)).await {
|
||||
let mut buf = [0; 4096];
|
||||
let mut buf = vec![0u8; 65536];
|
||||
loop {
|
||||
if let Ok((len, _addr)) = socket.recv_from(&mut buf).await
|
||||
&& let Ok(payload) =
|
||||
@@ -302,16 +302,11 @@ pub async fn run_server(state: Arc<MemoryState>) -> Result<(), Box<dyn std::erro
|
||||
|| payload.event == "VimEnter"
|
||||
{
|
||||
let session = &payload.session_id;
|
||||
let is_unix_socket = session.starts_with('/') || session.starts_with('~');
|
||||
if is_unix_socket {
|
||||
let wsl_path =
|
||||
"\\\\wsl.localhost\\Ubuntu\\home\\riz\\.gemini\\active_nvim.txt";
|
||||
let _ = tokio::fs::write(wsl_path, session).await;
|
||||
} else {
|
||||
let profile = std::env::var("USERPROFILE")
|
||||
.unwrap_or_else(|_| "C:\\Users\\reazul.ashraf".into());
|
||||
let win_path = format!("{}\\.gemini\\active_nvim.txt", profile);
|
||||
let _ = tokio::fs::write(&win_path, session).await;
|
||||
let _is_unix_socket = session.starts_with('/') || session.starts_with('~');
|
||||
if let Some(home) = dirs::home_dir() {
|
||||
let nvim_txt_path = home.join(".gemini").join("active_nvim.txt");
|
||||
let _ = tokio::fs::create_dir_all(nvim_txt_path.parent().unwrap()).await;
|
||||
let _ = tokio::fs::write(&nvim_txt_path, session).await;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -393,8 +388,8 @@ pub async fn run_server(state: Arc<MemoryState>) -> Result<(), Box<dyn std::erro
|
||||
let _ = tokio::fs::write(&log_path, format!("Server crashed: {}\n", e)).await;
|
||||
}
|
||||
|
||||
tracing::info!("axum::serve graceful shutdown complete. Terminating process cleanly.");
|
||||
std::process::exit(0);
|
||||
tracing::info!("axum::serve graceful shutdown complete.");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn init_logging(app_name: &str) -> Option<tracing_appender::non_blocking::WorkerGuard> {
|
||||
@@ -440,15 +435,15 @@ pub fn run_cli() -> Result<(), Box<dyn std::error::Error>> {
|
||||
if cli.exit {
|
||||
let port = std::env::var("MCP_PORT").unwrap_or_else(|_| "3000".to_string());
|
||||
let token = std::fs::read_to_string(base.join("admin.token")).unwrap_or_default();
|
||||
let mut cmd = std::process::Command::new("curl");
|
||||
cmd.arg("-k").arg("-X").arg("POST");
|
||||
if !token.is_empty() {
|
||||
cmd.arg("-H")
|
||||
.arg(format!("Authorization: Bearer {}", token.trim()));
|
||||
}
|
||||
let _ = cmd
|
||||
.arg(format!("http://127.0.0.1:{}/shutdown", port))
|
||||
.output();
|
||||
let rt = tokio::runtime::Runtime::new()?;
|
||||
rt.block_on(async {
|
||||
let client = reqwest::Client::builder().build().unwrap_or_default();
|
||||
let mut req = client.post(format!("http://127.0.0.1:{}/shutdown", port));
|
||||
if !token.trim().is_empty() {
|
||||
req = req.header("Authorization", format!("Bearer {}", token.trim()));
|
||||
}
|
||||
let _ = req.send().await;
|
||||
});
|
||||
|
||||
if cli.restart {
|
||||
std::thread::sleep(Duration::from_secs(2));
|
||||
|
||||
Reference in new issue
Block a user