@@ -110,45 +110,45 @@ impl ChaosProxy {
110
110
. await ?
111
111
. into_split ( ) ;
112
112
113
- let self_clone = self . clone ( ) ;
113
+ let break_networking_send = self . break_networking_send . clone ( ) ;
114
114
tokio:: spawn ( async move {
115
- if let Err ( err) = self_clone . proxy_data ( client_read, backend_write) . await {
115
+ if let Err ( err) = proxy_data ( break_networking_send , client_read, backend_write) . await {
116
116
eprintln ! ( "ChaosProxy connection error: {err}" ) ;
117
117
}
118
118
} ) ;
119
119
120
- let self_clone = self . clone ( ) ;
120
+ let break_networking_send = self . break_networking_send . clone ( ) ;
121
121
tokio:: spawn ( async move {
122
- if let Err ( err) = self_clone . proxy_data ( backend_read, client_write) . await {
122
+ if let Err ( err) = proxy_data ( break_networking_send , backend_read, client_write) . await {
123
123
eprintln ! ( "ChaosProxy connection error: {err}" ) ;
124
124
}
125
125
} ) ;
126
126
127
127
Ok ( ( ) )
128
128
}
129
+ }
129
130
130
- async fn proxy_data (
131
- & self ,
132
- mut from : OwnedReadHalf ,
133
- mut to : OwnedWriteHalf ,
134
- ) -> Result < ( ) , Error > {
135
- let mut break_connections_recv = self . break_networking_send . subscribe ( ) ;
136
- let mut buf = [ 0 ; 1024 ] ;
137
-
138
- loop {
139
- tokio:: select! {
140
- len = from. read( & mut buf) => {
141
- let len = len?;
142
- if len == 0 {
143
- // EOF, the socket was closed
144
- return Ok ( ( ) ) ;
145
- }
146
- to. write_all( & buf[ 0 ..len] ) . await ?;
147
- }
148
- _ = break_connections_recv. recv( ) => {
149
- to. shutdown( ) . await ?;
131
+ async fn proxy_data (
132
+ break_networking_send : Sender < ( ) > ,
133
+ mut from : OwnedReadHalf ,
134
+ mut to : OwnedWriteHalf ,
135
+ ) -> Result < ( ) , Error > {
136
+ let mut break_connections_recv = break_networking_send. subscribe ( ) ;
137
+ let mut buf = [ 0 ; 1024 ] ;
138
+
139
+ loop {
140
+ tokio:: select! {
141
+ len = from. read( & mut buf) => {
142
+ let len = len?;
143
+ if len == 0 {
144
+ // EOF, the socket was closed
150
145
return Ok ( ( ) ) ;
151
146
}
147
+ to. write_all( & buf[ 0 ..len] ) . await ?;
148
+ }
149
+ _ = break_connections_recv. recv( ) => {
150
+ to. shutdown( ) . await ?;
151
+ return Ok ( ( ) ) ;
152
152
}
153
153
}
154
154
}
0 commit comments