yubihsm/connector/usb/
config.rs

1//! USB device configuration
2
3use crate::device::SerialNumber;
4use serde::{Deserialize, Serialize};
5
6/// Configuration for connecting to the YubiHSM via USB
7#[derive(Clone, Debug, Deserialize, Serialize)]
8pub struct UsbConfig {
9    /// Serial number of the YubiHSM to connect to
10    pub serial: Option<SerialNumber>,
11
12    /// Timeout for USB operations (default 1s)
13    pub timeout_ms: u64,
14}
15
16impl UsbConfig {
17    /// Default timeout for USB communication (30 seconds)
18    pub const DEFAULT_TIMEOUT_MILLIS: u64 = 30_000;
19}
20
21impl Default for UsbConfig {
22    fn default() -> UsbConfig {
23        UsbConfig {
24            serial: None,
25            timeout_ms: Self::DEFAULT_TIMEOUT_MILLIS,
26        }
27    }
28}