INNER CODE UNIT · Rust

sidecar_start

mouseart2025/AI-Reader-V2 · frontend/src-tauri/src/lib.rs:55

async fn sidecar_start(
  state: State<'_, Mutex<SidecarState>>,
  app: tauri::AppHandle,
) -> Result<SidecarInfo, String> {
  // Check if already running or starting
  {
    let mut s = state.lock().map_err(|e| format!("Lock error: {e}"))?;
    if let (Some(port), Some(token)) = (s.port, s.token.clone()) {
      return Ok(SidecarInfo { port, token });
    }
    if s.starting {
      return Err("Sidecar is already starting".to_string());
    }
    s.starting = true;
  }

  // Pick a random port in ephemeral range
  let port: u16 = rand::thread_rng().gen_range(49152..=65535);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…