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}