pub struct PriorityTree {
pub priorities: Vec<(u32, u32, u8, bool)>,
}Expand description
PRIORITY frame pattern for browser fingerprinting.
Different browsers send PRIORITY frames with different dependency trees. Format: (stream_id, depends_on_stream_id, weight, exclusive)
- exclusive: true means this stream replaces all dependencies of the parent
- weight: 1-256, higher means more bandwidth allocation
Fields§
§priorities: Vec<(u32, u32, u8, bool)>Priority frames to send: (stream_id, depends_on, weight, exclusive)
Implementations§
Source§impl PriorityTree
impl PriorityTree
Sourcepub fn chrome() -> Self
pub fn chrome() -> Self
Chrome PRIORITY frame pattern.
Chrome sends PRIORITY frames for streams 3,5,7,9,11:
- Stream 3: depends on 0 (root), weight 201
- Stream 5: depends on 0 (root), weight 101
- Stream 7: depends on 0 (root), weight 1
- Stream 9: depends on 7, weight 1
- Stream 11: depends on 3, weight 1
Akamai format: 3:0:0:201,5:0:0:101,7:0:0:1,9:0:7:1,11:0:3:1
Sourcepub fn firefox() -> Self
pub fn firefox() -> Self
Firefox PRIORITY frame pattern.
Firefox sends PRIORITY frames for streams that haven’t been opened yet, establishing a dependency tree for future streams. Firefox uses a different pattern than Chrome.
The exact Firefox HTTP/2 fingerprint pattern requires verification against real browser traffic captures. This is a placeholder based on Firefox’s known behavior of sending PRIORITY frames for unopened streams.
Trait Implementations§
Source§impl Clone for PriorityTree
impl Clone for PriorityTree
Source§fn clone(&self) -> PriorityTree
fn clone(&self) -> PriorityTree
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PriorityTree
impl Debug for PriorityTree
Source§impl PartialEq for PriorityTree
impl PartialEq for PriorityTree
Source§fn eq(&self, other: &PriorityTree) -> bool
fn eq(&self, other: &PriorityTree) -> bool
self and other values to be equal, and is used by ==.