pub enum BusRoute {
Direct(Speed),
Translated(SplitInfo),
}Expand description
How a device’s traffic reaches it on the bus.
Unifies the device speed with the optional split-transaction (or legacy
PRE prefix) routing. Illegal combinations (a high-speed device reached
through a TT or PRE) are unrepresentable: BusRoute::Translated wraps
a SplitInfo whose SplitSpeed only admits low or full speed.
Variants§
Direct(Speed)
No bus-level translation. The device runs at its native speed and is addressed directly. Covers root-port devices and any device whose traffic is not re-clocked by an intermediate hub (high-speed device behind a high-speed hub, full-speed device behind a full-speed hub).
Translated(SplitInfo)
The device is reached through a transaction translator on a
high-speed controller (USB 2.0 §11.14), or via a legacy PRE prefix
on a full-speed controller (USB 1.1 §11.8.6). The device’s speed is
recorded inside the SplitInfo.