7
7
#![ allow( clippy:: future_not_send) ]
8
8
#![ allow( clippy:: unwrap_used) ] // This is example code.
9
9
10
- use std:: {
11
- collections:: { HashMap , VecDeque } ,
12
- fmt:: { self , Display } ,
13
- fs:: { create_dir_all, File , OpenOptions } ,
14
- io:: { self , BufWriter } ,
15
- net:: { IpAddr , Ipv4Addr , Ipv6Addr , SocketAddr , ToSocketAddrs as _} ,
16
- path:: PathBuf ,
17
- pin:: Pin ,
18
- process:: exit,
19
- time:: Instant ,
20
- } ;
21
-
22
10
use clap:: Parser ;
23
11
use futures:: {
24
12
future:: { select, Either } ,
@@ -32,6 +20,18 @@ use neqo_crypto::{
32
20
use neqo_http3:: Output ;
33
21
use neqo_transport:: { AppError , CloseReason , ConnectionId , Version } ;
34
22
use neqo_udp:: RecvBuf ;
23
+ use rustc_hash:: FxHashMap as HashMap ;
24
+ use std:: {
25
+ collections:: VecDeque ,
26
+ fmt:: { self , Display } ,
27
+ fs:: { create_dir_all, File , OpenOptions } ,
28
+ io:: { self , BufWriter } ,
29
+ net:: { IpAddr , Ipv4Addr , Ipv6Addr , SocketAddr , ToSocketAddrs as _} ,
30
+ path:: PathBuf ,
31
+ pin:: Pin ,
32
+ process:: exit,
33
+ time:: Instant ,
34
+ } ;
35
35
use tokio:: time:: Sleep ;
36
36
use url:: { Host , Origin , Url } ;
37
37
@@ -529,10 +529,13 @@ const fn local_addr_for(remote_addr: &SocketAddr, local_port: u16) -> SocketAddr
529
529
530
530
fn urls_by_origin ( urls : & [ Url ] ) -> impl Iterator < Item = ( ( Host , u16 ) , VecDeque < Url > ) > {
531
531
urls. iter ( )
532
- . fold ( HashMap :: < Origin , VecDeque < Url > > :: new ( ) , |mut urls, url| {
533
- urls. entry ( url. origin ( ) ) . or_default ( ) . push_back ( url. clone ( ) ) ;
534
- urls
535
- } )
532
+ . fold (
533
+ HashMap :: < Origin , VecDeque < Url > > :: default ( ) ,
534
+ |mut urls, url| {
535
+ urls. entry ( url. origin ( ) ) . or_default ( ) . push_back ( url. clone ( ) ) ;
536
+ urls
537
+ } ,
538
+ )
536
539
. into_iter ( )
537
540
. filter_map ( |( origin, urls) | match origin {
538
541
Origin :: Tuple ( _scheme, h, p) => Some ( ( ( h, p) , urls) ) ,
0 commit comments