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
| Signal | Action |
|---|---|
RELOAD (SIGHUP) | Reapply vanguard configuration to Tor |
§Arguments
controller- The Tor controllerstate- The vanguard stateconfig- The vanguards configurationsignal- 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?;