signal_event

Function signal_event 

Source
pub async fn signal_event(
    controller: &mut Controller,
    state: &VanguardState,
    config: &Config,
    signal: &str,
) -> Result<()>
Expand description

Handles a signal event from Tor.

Processes signals received by the Tor daemon and takes appropriate action. Currently handles SIGHUP/RELOAD to reapply vanguard configuration.

§Supported Signals

SignalAction
RELOAD (SIGHUP)Reapply vanguard configuration to Tor

§Arguments

  • controller - The Tor controller
  • state - The vanguard state
  • config - The vanguards configuration
  • signal - The signal name (e.g., “RELOAD”)

§Returns

Returns Ok(()) on successful handling.

§Errors

Returns Error::Control if reconfiguring Tor fails.

§Example

use stem_rs::controller::Controller;
use vanguards_rs::vanguards::VanguardState;
use vanguards_rs::config::Config;
use vanguards_rs::control::signal_event;

let mut controller = Controller::from_port("127.0.0.1:9051".parse().unwrap()).await?;
controller.authenticate(None).await?;

let state = VanguardState::new("/tmp/vanguards.state");
let config = Config::default();

signal_event(&mut controller, &state, &config, "RELOAD").await?;