1 use criterion::criterion_group; 2 use criterion::criterion_main; 3 /// Microbenchmarks go here. Larger benchmarks of (eg.) protocol 4 /// performance go in examples/internal/bench.rs. 5 use criterion::Criterion; 6 7 #[allow(dead_code)] 8 mod common; 9 use crate::common::*; 10 11 use rustls::{ServerSession, Session}; 12 13 use std::io; 14 use std::sync::Arc; 15 bench_ewouldblock(c: &mut Criterion)16fn bench_ewouldblock(c: &mut Criterion) { 17 let server_config = make_server_config(KeyType::RSA); 18 let mut server = ServerSession::new(&Arc::new(server_config)); 19 let mut read_ewouldblock = FailsReads::new(io::ErrorKind::WouldBlock); 20 c.bench_function("read_tls with EWOULDBLOCK", move |b| { 21 b.iter(|| server.read_tls(&mut read_ewouldblock)) 22 }); 23 } 24 25 criterion_group!(benches, bench_ewouldblock); 26 criterion_main!(benches); 27