#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct NetworkDeviceTransmitQueueDiagnostic
{
pub traffic_class: DiagnosticUnobtainableResult<Option<TransmitQueueTrafficClass>>,
pub maximum_rate_in_megabits_per_second: DiagnosticUnobtainableResult<Option<NonZeroU32>>,
pub number_of_timeout_events: DiagnosticUnobtainableResult<usize>,
pub transmit_packet_steering_hyper_thread_affinity: DiagnosticUnobtainableResult<Option<HyperThreads>>,
pub transmit_packet_steering_receive_queue_affinity: DiagnosticUnobtainableResult<QueueIdentifiers>,
pub byte_limits_hold_time: DiagnosticUnobtainableResult<Milliseconds>,
pub number_of_bytes_inflight: DiagnosticUnobtainableResult<u64>,
pub minimum_current_byte_limit: DiagnosticUnobtainableResult<Option<NonZeroU64>>,
pub current_byte_limit: DiagnosticUnobtainableResult<Option<NonZeroU64>>,
pub maximum_current_byte_limit: DiagnosticUnobtainableResult<NonZeroU64>,
}
impl NetworkDeviceTransmitQueueDiagnostic
{
#[inline(always)]
fn gather(sys_path: &SysPath, transmit_sysfs_queue: &TransmitSysfsQueue) -> Self
{
Self
{
traffic_class: transmit_sysfs_queue.traffic_class(sys_path).map_err(DiagnosticUnobtainable::from),
maximum_rate_in_megabits_per_second: transmit_sysfs_queue.maximum_rate_in_megabits_per_second(sys_path).map_err(DiagnosticUnobtainable::from),
number_of_timeout_events: transmit_sysfs_queue.number_of_timeout_events(sys_path).map_err(DiagnosticUnobtainable::from),
transmit_packet_steering_hyper_thread_affinity: transmit_sysfs_queue.transmit_packet_steering_hyper_thread_affinity(sys_path).map_err(DiagnosticUnobtainable::from),
transmit_packet_steering_receive_queue_affinity: transmit_sysfs_queue.transmit_packet_steering_receive_queue_affinity(sys_path).map_err(DiagnosticUnobtainable::from),
byte_limits_hold_time: transmit_sysfs_queue.byte_limits_hold_time(sys_path).map_err(DiagnosticUnobtainable::from),
number_of_bytes_inflight: transmit_sysfs_queue.number_of_bytes_inflight(sys_path).map_err(DiagnosticUnobtainable::from),
minimum_current_byte_limit: transmit_sysfs_queue.minimum_current_byte_limit(sys_path).map_err(DiagnosticUnobtainable::from),
current_byte_limit: transmit_sysfs_queue.current_byte_limit(sys_path).map_err(DiagnosticUnobtainable::from),
maximum_current_byte_limit: transmit_sysfs_queue.maximum_current_byte_limit(sys_path).map_err(DiagnosticUnobtainable::from),
}
}
}