11use core_affinity:: CoreId ;
22use log:: { debug, info, trace} ;
3- use rand:: { thread_rng , Rng } ;
3+ use rand:: { Rng , thread_rng } ;
44use rand_distr:: Exp ;
55use std:: collections:: HashMap ;
66use std:: os:: unix:: io:: AsRawFd ;
77use std:: str;
88use std:: time:: { SystemTime , UNIX_EPOCH } ;
99use std:: {
1010 fmt:: Display ,
11- io:: { prelude:: * , BufReader } ,
11+ io:: { BufReader , prelude:: * } ,
1212 net:: TcpListener ,
1313 thread,
1414} ;
@@ -17,10 +17,10 @@ use crate::{BaseConfig, Worker, WorkerError, Workload, WorkloadConfig};
1717
1818use smoltcp:: iface:: { Config , Interface , SocketSet } ;
1919use smoltcp:: phy:: {
20- wait as phy_wait , Device , FaultInjector , Medium , Tracer , TunTapInterface ,
20+ Device , FaultInjector , Medium , Tracer , TunTapInterface , wait as phy_wait ,
2121} ;
22- use smoltcp:: socket:: tcp;
2322use smoltcp:: socket:: AnySocket ;
23+ use smoltcp:: socket:: tcp;
2424use smoltcp:: time:: Instant ;
2525use smoltcp:: wire:: { EthernetAddress , IpAddress , IpCidr , Ipv4Address } ;
2626
@@ -61,31 +61,33 @@ impl NetworkWorker {
6161 // through streams and replies. This way the connections will have
6262 // high latency, but for the purpose of networking workload it
6363 // doesn't matter.
64- thread:: spawn ( move || loop {
65- let mut buf_reader = BufReader :: new ( & stream) ;
66- let mut buffer = String :: new ( ) ;
67-
68- match buf_reader. read_line ( & mut buffer) {
69- Ok ( 0 ) => {
70- // EOF, exit
71- break ;
72- }
73- Ok ( _n) => {
74- trace ! ( "Received {:?}" , buffer) ;
75-
76- let response = "hello\n " ;
77- match stream. write_all ( response. as_bytes ( ) ) {
78- Ok ( _) => {
79- // Response is sent, handle the next one
80- }
81- Err ( e) => {
82- trace ! ( "ERROR: sending response, {}" , e) ;
83- break ;
64+ thread:: spawn ( move || {
65+ loop {
66+ let mut buf_reader = BufReader :: new ( & stream) ;
67+ let mut buffer = String :: new ( ) ;
68+
69+ match buf_reader. read_line ( & mut buffer) {
70+ Ok ( 0 ) => {
71+ // EOF, exit
72+ break ;
73+ }
74+ Ok ( _n) => {
75+ trace ! ( "Received {:?}" , buffer) ;
76+
77+ let response = "hello\n " ;
78+ match stream. write_all ( response. as_bytes ( ) ) {
79+ Ok ( _) => {
80+ // Response is sent, handle the next one
81+ }
82+ Err ( e) => {
83+ trace ! ( "ERROR: sending response, {}" , e) ;
84+ break ;
85+ }
8486 }
8587 }
86- }
87- Err ( e ) => {
88- trace ! ( "ERROR: reading a line, {}" , e )
88+ Err ( e ) => {
89+ trace ! ( "ERROR: reading a line, {}" , e )
90+ }
8991 }
9092 }
9193 } ) ;
0 commit comments