pub struct EndpointConfig {
pub addr: Option<EndpointAddress>,
pub ep_type: EndpointType,
pub max_packet_size: u16,
pub interval_ms: u8,
pub double_buffered: bool,
pub max_burst: u8,
pub max_streams: u8,
pub mult: u8,
pub bytes_per_interval: u32,
}Expand description
Configuration to allocate an endpoint with.
The SuperSpeed fields are those of the endpoint’s SuperSpeed Endpoint Companion descriptor, and 0 for an endpoint that has none.
Fields§
§addr: Option<EndpointAddress>Endpoint’s address, or None for the driver to pick one.
ep_type: EndpointTypeEndpoint’s type.
max_packet_size: u16Max packet size, in bytes.
interval_ms: u8Polling interval, in milliseconds.
double_buffered: boolDouble-buffer a bulk endpoint, if the driver supports it. See
Driver::alloc_endpoint_bulk_out_double_buffered.
max_burst: u8SuperSpeed bMaxBurst: the endpoint bursts up to max_burst + 1 packets.
max_streams: u8SuperSpeed bulk MaxStreams: the endpoint has 2^max_streams streams, or none when 0.
mult: u8SuperSpeed isochronous Mult: the endpoint moves up to mult + 1 bursts per service
interval.
bytes_per_interval: u32SuperSpeed periodic wBytesPerInterval, or the dwBytesPerInterval of a SuperSpeedPlus
isochronous endpoint: the bytes the endpoint moves per service interval.
Implementations§
Source§impl EndpointConfig
impl EndpointConfig
Sourcepub const fn new(
addr: Option<EndpointAddress>,
ep_type: EndpointType,
max_packet_size: u16,
interval_ms: u8,
) -> Self
pub const fn new( addr: Option<EndpointAddress>, ep_type: EndpointType, max_packet_size: u16, interval_ms: u8, ) -> Self
An endpoint that is not double-buffered, with all SuperSpeed fields 0.
Trait Implementations§
Source§impl Clone for EndpointConfig
impl Clone for EndpointConfig
Source§fn clone(&self) -> EndpointConfig
fn clone(&self) -> EndpointConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more